﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class РаботаСДиалогамиЗК
	{
		// Процедура вызывается в обработчике события "Начало выбора" в форме документов.
		// Выполняет выбор даты курса и устанавливает переданный курс по выбранной дате.
		//
		// Параметры:
		//  Курс   - число, курс валюты, который надо установить;
		//  Валюта - ссылка на справочник, определяет валюту чей курс надо выбрать;
		//  Дата   - дата, дата курса по умолчанию.
		//

		public void ВыбратьКурсВалюты(/*Курс, Кратность, Валюта, Дата*/)
		{
			/*// Если не заполнена валюта, то курс выбрать нельзя.
*/
			if(true/*НЕ ЗначениеЗаполнено(Валюта)*/)
			{
				//Предупреждение("Для выбора курса нужно выбрать валюту.");
			}
			/*// Выберем дату курса
*/
			//ДатаУстановкиКурса = Дата;
			if(true/*ВвестиДату(ДатаУстановкиКурса, "Выберите дату установки курса.", ЧастиДаты.Дата)*/)
			{
				/*// Если дата введена, заполним значение курса и кратности
*/
				//СтруктураВалюты = МодульВалютногоУчета.ПолучитьКурсВалюты(Валюта, ДатаУстановкиКурса);
				//Курс            = СтруктураВалюты.Курс;
				//Кратность       = СтруктураВалюты.Кратность;
			}
		}
		// ВыбратьКурсВалюты()

		public void ВакансияПриВыводеСтроки(/*Элемент, ОформлениеСтроки, ДанныеСтроки*/)
		{
			if(true/*ДанныеСтроки.Закрыта*/)
			{
				//ОформлениеСтроки.ЦветТекста = WebЦвета.Серый;
			}
			if(true/*Не ДанныеСтроки.Закрыта И ЗначениеЗаполнено(ДанныеСтроки.ПлановаяДатаЗакрытия) И ДанныеСтроки.ПлановаяДатаЗакрытия < ОбщегоНазначения.ПолучитьРабочуюДату()*/)
			{
				//ОформлениеСтроки.ЦветТекста = WebЦвета.Красный;
			}
		}
		// Функция выполняет проверку необходимости записи набора записей
		//
		// Параметры
		//  НаборЗаписей  - набор записей регистра сведений, существующие значения
		//  ТаблицаЗначенийДляЗаписи - таблица значений с новыми значениями
		//  СтрокаОтбора - строка, список полей, разделенных зяпятой, в разрезе которых производится проверка
		//					и запись набора записей
		//
		// Возвращаемое значение:
		//   Булево   - Ложь, когда набор записей необходимо было записать, и записать набор не удалось
		//

		public object ПроверитьИЗаписатьНаборЗаписей(/*НаборЗаписей, ТаблицаЗначенийДляЗаписи, СтрокаОтбора*/)
		{
			//СтруктураПоиска = Новый Структура(СтрокаОтбора);
			//НаборЗаписей.Прочитать();
			//ТаблицаНаборЗаписей = НаборЗаписей.Выгрузить();
			/*// удалим лишние колонки из ТаблицаЗначенийДляЗаписи, например номер по порядку
*/
			//МассивКолонок = Новый Массив;
			//ТаблицаОтборов = ТаблицаНаборЗаписей.Скопировать(,СтрокаОтбора);
			//ТаблицаОтборов.Свернуть(СтрокаОтбора,);
			/*// перепишем данные  во временную таблицу
*/
			//ВремТаблицаЗначенийДляЗаписи =  ТаблицаЗначенийДляЗаписи.Скопировать();
			if(true/*ВремТаблицаЗначенийДляЗаписи.Количество() > 0*/)
			{
				/*// остались сведения, которых не было, запишем
*/
			}
			return null;
		}
		// Процедура открывает общую форму ФормаИсторииЗначений
		// Параметры
		//		ФормаВладелец - форма из которой открываем просмотр истории
		//		КлючУникальности - ключ уникальности, для поиска открытой формы
		//		ИмяТаблицыИсторииЗначений - строка, имя таблицы, входит в имя события оповещения
		//		ПараметраИсторииЗначений - структура, содержит имя колонки, которая должна заполняться по умолчанию и значение для заполнения
		//									например, для истории по физлицу будет структура с именем колонки и физлицом
		//		МассивИменаНевидимыхКолонок - массив, значения имена колонок, которые необходимо скрыть
		//		МассивИменаКолонокАвтоОтметкаНезаполненного - массив, имена колонок для установки свойства АвтоОтметкаНезаполненного
		//		ПорядокПредставленияПериода - строка, описывает как представлять период в таблице: "НачалоГода", "НачалоМесяца"
		//

		public void ОткрытьФормуИсторииЗначений(/*ФормаВладелец, КлючУникальности, ИмяТаблицыИсторииЗначений, ТаблицаИстории,
										ПараметрИсторииЗначений, МассивИменаНевидимыхКолонок,
										МассивИменаКолонокАвтоОтметкаНезаполненного, ПорядокПредставленияПериода = "",
										Заголовок, РежимТолькоПросмотр = Истина*/)
		{
			//ФормаИстории = ПолучитьОбщуюФорму("ФормаИсторииЗначений", ФормаВладелец, КлючУникальности);
			//ФормаИстории.ТаблицаИсторииЗначений = ТаблицаИстории.Скопировать();
			//ФормаИстории.ИмяТаблицыИсторииЗначений = ИмяТаблицыИсторииЗначений;
			//ФормаИстории.ПараметрИсторииЗначений   = ПараметрИсторииЗначений;
			//ФормаИстории.Заголовок = Заголовок;
			//ФормаИстории.ТолькоПросмотр = РежимТолькоПросмотр;
			//ФормаИстории.мМассивИменаНевидимыхКолонок = МассивИменаНевидимыхКолонок;
			//ФормаИстории.мМассивИменаКолонокАвтоОтметкаНезаполненного = МассивИменаКолонокАвтоОтметкаНезаполненного;
			//ФормаИстории.мПорядокПредставленияПериода = ПорядокПредставленияПериода;
			//ФормаИстории.Открыть();
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОФОРМЛЕНИЯ НАЧИСЛЕНИЙ И ПОКАЗАТЕЛЕЙ

		public object ПолучитьСведенияОВидеРасчетаСхемыМотивации(/*СведенияОВидахРасчета, ВидРасчета, Режим = "ПлановыеНачисления"*/)
		{
			return null;
		}
		// ПолучитьСведенияОВидеРасчетаСхемыМотивации
		// Процедура заполняет информацию о видах расчета из переданного соответствия
		// Если в соответствии не найдена информация о виде расчета - она подготавливается и
		// помещается в соответствие
		// Применяется для работы с формами, в которых активно требуется получать
		// информащцию о видах расчета, например, при выводе строки табличного поля
		//
		// Параметры:
		//	СведенияОВидахРасчета - соответствие, у котрого в качестве ключа - ПланВидовРасчетаСсылка, а
		//  				  в качестве значения - структура из элементов
		//					  РазмерТребуется - булево - если да, то при вводе такого
		//										вида расчета требуется проставлять значение "размер"
		//										(суммы, проценты и проч. показатели, используемые при расчете)
		//
		//	ВидРасчета - ПланВидовРасчетаСсылка
		//
		// Возвращаемое значение:
		//  Описанная выше структура
		//

		public void ЗаполнитьСведенияОВидахРасчетаСхемыМотивации(/*СведенияОВидахРасчета, ВидыРасчета, Режим = "ПлановыеНачисления"*/)
		{
			//ЗаполнениеДокументовЗК.ЗаполнитьСведенияОВидахРасчетаСхемыМотивации(СведенияОВидахРасчета, ВидыРасчета, Режим);
		}
		// ЗаполнитьСведенияОВидахРасчетаСхемыМотивации
		// Процедура собирает ссылки на виды расчета из коллекции оформляемых строк
		//  и заполняет соответствие сведений о них
		//

		public void ЗаполнитьСведенияОВидахРасчетаОформляемыхСтрок(/*СведенияОВидахРасчета, ОформляемыеСтроки, ИмяПоляВидРасчета = "ВидРасчета", Режим = "ПлановыеНачисления"*/)
		{
			//ПоляВидРасчета = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(ИмяПоляВидРасчета);
			//ВидыРасчета = Новый Массив;
			//ЗаполнитьСведенияОВидахРасчетаСхемыМотивации(СведенияОВидахРасчета, ВидыРасчета, Режим);
		}
		// ЗаполнитьСведенияОВидахРасчетаОформляемыхСтрок
		// Процедура собирает ссылки на виды расчета из табличных частей
		//  и заполняет соответствие сведений о них
		//

		public void ЗаполнитьСведенияОВидахРасчетаТабличнойЧасти(/*СведенияОВидахРасчета, ТабличныеЧасти, Режим = "ПлановыеНачисления"*/)
		{
			/*// собираем виды расчета документа
*/
			//ВидыРасчета = Новый Массив;
			/*// заполняем недостающие сведения
*/
			//ЗаполнитьСведенияОВидахРасчетаСхемыМотивации(СведенияОВидахРасчета, ВидыРасчета, Режим);
		}
		// ЗаполнитьСведенияОВидахРасчетаТабличнойЧасти
		// Выводит строки показателей в списке регистра сведений плановых начислений
		//

		public void ОформитьСтрокиПлановыхНачислений(/*Элемент, мСведенияОВидахРасчета, ОформленияСтрок*/)
		{
			//ДлинаСуток = 86400;
			//ЗаполнитьСведенияОВидахРасчетаОформляемыхСтрок(мСведенияОВидахРасчета, ОформленияСтрок, "ВидРасчета,ВидРасчетаЗавершения");
		}
		// Выводит строки показателей в списке регистра сведений плановых удержаний
		//

		public void ОформитьСтрокиПлановыхУдержаний(/*Элемент, мСведенияОВидахРасчета, ОформленияСтрок*/)
		{
			//ДлинаСуток = 86400;
			//ЗаполнитьСведенияОВидахРасчетаОформляемыхСтрок(мСведенияОВидахРасчета, ОформленияСтрок);
		}
		// Процедура управляет видимостью показателей в табличном поле
		// Парметры:
		//		ТабличноеПоле - Табличное поле, в котором необходимо установить видимость показателей
		//		ОформленияСтрокТабличногоПоля - оформления строк табличного поля
		//		СведенияОВидахРасчета - соответствие, в котором хранятся сведения о виде расчета

		public void ОбработатьОтображениеПоказателейДляРасчета(/*ТабличноеПоле, ОформленияСтрокТабличногоПоля, СведенияОВидахРасчета, Режим = "ПриРасчете", ВидРасчета = Неопределено*/)
		{
			/*// показатели будут видны, если в табличном поле включена видимость колонки Показатели
*/
			//Колонки = ТабличноеПоле.Колонки;
			//ПоказыватьПоказатели = Колонки.Показатели.Видимость;
			//ЕстьПоказатели = Ложь;
			if(true/*ВидРасчета <> Неопределено*/)
			{
				//РаботаСДиалогамиЗК.ПолучитьСведенияОВидеРасчетаСхемыМотивации(СведенияОВидахРасчета, ВидРасчета, Режим);
			}
		}
		//ОбработатьОтображениеПоказателейДляРасчета()
		// Выводит строки показателей в документах ввода плановых начислений и удержаний
		//

		public void ПриВыводеСтрокиПлановыхНачислений(/*Элемент, ОформлениеСтроки, ДанныеСтроки, СведенияОВидахРасчета, ИспользуютсяТарифныеРазряды = Истина, ВидРасчета = Неопределено, ТекущийВидРасчета = Ложь*/)
		{
			if(true/*ВидРасчета = Неопределено*/)
			{
				if(true/*ОформлениеСтроки.Ячейки.Найти("Надбавка") = Неопределено*/)
				{
					//СведенияОВидеРасчета = ПолучитьСведенияОВидеРасчетаСхемыМотивации(СведенияОВидахРасчета, ДанныеСтроки.ВидРасчета);
				}
			}
			if(true/*ТекущийВидРасчета*/)
			{
				//Показатель						= "ТекущийПоказатель";
				//Валюта							= "ТекущаяВалюта";
				//ТарифныйРазряд					= "ТекущийТарифныйРазряд";
				//НаименованиеПоказательТР		= "НаименованиеТекущийПоказательТР";
				//ОформлениеСтроки.Ячейки.До.Видимость	= Ложь;
				//ОформлениеСтроки.Ячейки.После.Видимость	= Ложь;
			}
			//ТолькоПросмотрЯчеек = Ложь;
			//ЕстьПоказатели = Ложь;
			if(true/*не ЕстьПоказатели*/)
			{
				if(true/*ЗначениеЗаполнено(ВидРасчета)*/)
				{
					//ОформлениеСтроки.Ячейки["НаименованиеПоказатель1"].УстановитьТекст("<вводится ежемесячно>");
					//ОформлениеСтроки.Ячейки["НаименованиеПоказатель1"].Видимость = Истина;
				}
				//ОформлениеСтроки.Ячейки[Показатель+"1"].ТолькоПросмотр = Истина;
				if(true/*ИспользуютсяТарифныеРазряды*/)
				{
					//ОформлениеСтроки.Ячейки["НаименованиеПоказательТР1"].Видимость = Ложь;
					//ОформлениеСтроки.Ячейки[ТарифныйРазряд + "1"].Видимость = Ложь;
				}
			}
		}
		//ПриВыводеСтрокиПлановыхНачислений
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОФОРМЛЕНИЯ ФОРМЫ
		// в кадровых документах кнопка вызова Анализа неявок показывается не всем

		public void УстановитьВидимостьКнопкиОткрытьНачисления(/*КоллекцияКнопок, ИмяКнопки*/)
		{
			if(true/*Не ПравоДоступа("Использование",Метаданные.Обработки.АнализНеявок)*/)
			{
				//УдаляемаяКнопка = КоллекцияКнопок.Найти(ИмяКнопки);
				if(true/*УдаляемаяКнопка <> Неопределено*/)
				{
					//КоллекцияКнопок.Удалить(УдаляемаяКнопка);
				}
			}
		}
		// Процедура устанавливает формат поля ввода значений показателей
		// на основе сведений о точности показателей
		//

		public void УстановитьФорматЗначенийПоказателей(/*ТабличноеПолеНачислений, СведенияОВидахРасчета, ИмяПоляВидРасчета = "ВидРасчета", УчитыватьТарифныйРазряд = Ложь*/)
		{
			if(true/*ТабличноеПолеНачислений.ТекущиеДанные <> Неопределено*/)
			{
				//ВидРасчета = ТабличноеПолеНачислений.ТекущиеДанные[ИмяПоляВидРасчета];
				//СведенияОВидеРасчета = РаботаСДиалогамиЗК.ПолучитьСведенияОВидеРасчетаСхемыМотивации(СведенияОВидахРасчета, ВидРасчета);
			}
		}
		// УстановитьФорматЗначенийПоказателей
		// Процедура дополняет соответствие данными оформления по показателям
		//

		public void ОбновитьДанныеОформленияЗначенийПоказателей(/*КэшДанныеОформления, Показатели*/)
		{
			if(true/*КэшДанныеОформления = Неопределено*/)
			{
				//КэшДанныеОформления = Новый Соответствие;
			}
			/*// среди показателей оставляем только те, которых нет в кэше
*/
			if(true/*Показатели.Количество() > 0*/)
			{
				//ДанныеОформленияПоказателей = ДанныеОформленияЗначенийПоказателей(Показатели);
			}
		}
		// ОбновитьДанныеОформленияЗначенийПоказателей

		public object ДанныеОформленияЗначенийПоказателя(/*Показатель, КэшДанныеОформления = Неопределено*/)
		{
			if(true/*КэшДанныеОформления <> Неопределено*/)
			{
				//ДанныеОформленияПоказателя = КэшДанныеОформления[Показатель];
				if(true/*ДанныеОформленияПоказателя <> Неопределено*/)
				{
				}
			}
			//Показатели = Новый Массив;
			//Показатели.Добавить(Показатель);
			//ДанныеОформленияПоказателей = ДанныеОформленияЗначенийПоказателей(Показатели);
			return null;
		}
		// ДанныеОформленияЗначенийПоказателя

		public object ДанныеОформленияЗначенийПоказателей(/*Показатели*/)
		{
			/*ТекстЗапроса = 
	"ВЫБРАТЬ
	|" + ЗаполнениеДокументовПереопределяемый.ПолеЗапросаТочностьПредставленияПоказателя() + "
	|	ПоказателиВидаРасчета.Показатель.ТипПоказателя КАК ТипПоказателя,
	|	ПоказателиВидаРасчета.Показатель.ВидПоказателя КАК ВидПоказателя,
	|	ПоказателиВидаРасчета.Ссылка
	|ИЗ
	|	(ВЫБРАТЬ
	|		ПоказателиСхемМотивации.Ссылка КАК Показатель,
	|		ПоказателиСхемМотивации.Ссылка КАК Ссылка
	|	ИЗ
	|		Справочник.ПоказателиСхемМотивации КАК ПоказателиСхемМотивации
	|	ГДЕ
	|		ПоказателиСхемМотивации.Ссылка В(&Показатели)) КАК ПоказателиВидаРасчета
	|
	|ОБЪЕДИНИТЬ
	|
	|ВЫБРАТЬ
	|	3,
	|	ЗНАЧЕНИЕ(Перечисление.ТипыПоказателейСхемМотивации.ПустаяСсылка),
	|	ЗНАЧЕНИЕ(Перечисление.ВидыПоказателейСхемМотивации.ПустаяСсылка),
	|	ЗНАЧЕНИЕ(Справочник.ПоказателиСхемМотивации.ПустаяСсылка)";*/
			//Запрос = Новый Запрос;
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("Показатели", Показатели);
			//ДанныеОформленияПоказателей = Новый Соответствие;
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//ДанныеОформленияПоказателя = Новый Структура("ТочностьПредставления, ТипПоказателя, ВидПоказателя");
				//ЗаполнитьЗначенияСвойств(ДанныеОформленияПоказателя, Выборка);
				//ДанныеОформленияПоказателей.Вставить(Выборка.Ссылка, ДанныеОформленияПоказателя);
			}
			return null;
		}
		// ДанныеОформленияЗначенийПоказателей

		public void УстановитьФорматЗначенийПоказателейОформленияСтрок(/*ОформленияСтрок, ДанныеОформленияЗначенийПоказателей*/)
		{
			/*// собираем показатели из коллекции
*/
			//Показатели = Новый Массив;
			//РаботаСДиалогамиЗК.ОбновитьДанныеОформленияЗначенийПоказателей(ДанныеОформленияЗначенийПоказателей, Показатели);
		}
		// УстановитьФорматЗначенийПоказателейОформленияСтрок
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТКИ ИНФОРМАЦИИ В ФОРМЕ
		// Процедура проверяет соответсвие страхового номера ПФР требованиям, устанавливает цвет
		// текста в поле ввода и подсказку
		//
		// Параметры
		//  СтраховойНомерПФР  - страховой номер физлица для проверки
		//  ПолеВвода  - поле ввода в котором вводится ИНН
		//

		public void ПроверитьСтраховойНомерПФРФизлицаОформитьПолеВвода(/*СтраховойНомерПФР, ПолеВвода*/)
		{
			if(true/*ЗначениеЗаполнено(СтрЗаменить(Лев(СтраховойНомерПФР,11),"-","")) и Не РегламентированнаяОтчетность.СтраховойНомерПФРСоответствуетТребованиям(СтраховойНомерПФР)*/)
			{
				//ПолеВвода.ЦветТекстаПоля = ЦветаСтиля.ЦветОсобогоТекста;
				//ПолеВвода.Подсказка = "Ошибка в страховом номере";
			}
		}
		// ПроверитьСтраховойНомерПФРФизлицаОформитьПолеВвода()
		// Выводит строки показателей в документах ввода плановых начислений и удержаний
		//
		//	Параметры:
		//		ДанныеСтроки - данные строки документа
		//		ОформлениеСтроки - оформление строки документа
		//		СведенияОВидахРасчета - соответствие содержащие сведения о видах расчетах документа
		//

		public void ПриВыводеСтрокиНачисленийИУдержаний(/*ДанныеСтроки, ОформлениеСтроки, СведенияОВидахРасчета*/)
		{
			//ДанныеСтрокиВидРасчета = ДанныеСтроки.ВидРасчета;
			//СведенияОВидеРасчета = РаботаСДиалогамиЗК.ПолучитьСведенияОВидеРасчетаСхемыМотивации(СведенияОВидахРасчета, ДанныеСтроки.ВидРасчета, "ПриРасчете");
			//ЕстьПоказатели = Ложь;
			if(true/*ЗначениеЗаполнено(ДанныеСтрокиВидРасчета)*/)
			{
				//ЕстьПоказатели = Ложь;
				//СчПоказателей = 0;
				if(true/*не ЕстьПоказатели*/)
				{
					//ОформлениеСтроки.Ячейки.НаименованиеПоказатель1.УстановитьТекст("<рассчитываются автоматически>");
					//ОформлениеСтроки.Ячейки.НаименованиеПоказатель1.Видимость			= Истина;
					//ОформлениеСтроки.Ячейки["Показатель1"].ТолькоПросмотр				= Истина;
				}
			}
			//ОформлениеСтроки.Ячейки.Показатели.Видимость = Ложь;
		}
		//ПриВыводеСтрокиНачисленийИУдержаний
		// Выводит в колонке Способ расчета списка в.р. вместо слов "Произвольная формула"
		//	эту самую формулу
		// Работает в контексте обработчика ПриПолученииДанных.
		// Предполагается, что в соответствующем табличном поле есть колонка СпособРасчета,
		// 	а в списке присутствуют: Ссылка и ФормулаРасчетаПредставление
		//
		//	Параметры:
		//		ОформленияСтрок - коллекция оформлений строки табличного поля списка в.р.
		//

		public void ВыводПроизвольнойФормулыВСтрокахСпискаВидовРасчета(/*ОформленияСтрок*/)
		{
			//МассивВР = Новый Массив;
			//ИмяПВР = Неопределено;
			if(true/*МассивВР.Количество() = 0*/)
			{
			}
			//Запрос = Новый Запрос;
			//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
			/*Запрос.Текст = 
	"ВЫБРАТЬ
	|	НачисленияОрганизацийПоказатели.Ссылка КАК Ссылка,
	|	НачисленияОрганизацийПоказатели.НомерСтроки КАК НомерСтроки,
	|	НачисленияОрганизацийПоказатели.Показатель.Наименование КАК Показатель
	|ИЗ
	|	ПланВидовРасчета.ОсновныеНачисленияОрганизаций.Показатели КАК НачисленияОрганизацийПоказатели
	|ГДЕ
	|	НачисленияОрганизацийПоказатели.Ссылка В(&Ссылки)
	|
	|УПОРЯДОЧИТЬ ПО
	|	Ссылка,
	|	НомерСтроки";*/
			//Запрос.УстановитьПараметр("Ссылки", МассивВР);
			//Запрос.Текст = СтрЗаменить(Запрос.Текст, "ОсновныеНачисленияОрганизаций", ИмяПВР);
			//Показатели = Запрос.Выполнить().Выгрузить();
			//Показатели.Индексы.Добавить("Ссылка");
			//СтруктураОтбора = Новый Структура("Ссылка");
		}

		public void ЗаполнениеОтбораПоОрганизацииПоУмолчанию(/*Форма, ЭлементОтбора = Неопределено, ЭлементФормы, ПараметрОтборПоРегистратору = Неопределено, ИспользоватьГоловнуюОрганизацию = Истина, ТекущийПользователь, ТекстЗаголовка = Неопределено*/)
		{
			//ЭлементФормы.ТолькоПросмотр = Ложь;
			if(true/*ЗначениеЗаполнено(ПараметрОтборПоРегистратору)*/)
			{
				//МетаданныеДокумента = ПараметрОтборПоРегистратору.Метаданные();
				if(true/*МетаданныеДокумента.Реквизиты.Найти("СторнируемыйДокумент") <> Неопределено*/)
				{
					//МетаданныеДокумента 		= ПараметрОтборПоРегистратору.СторнируемыйДокумент.Метаданные();
					//ПараметрОтборПоРегистратору = ПараметрОтборПоРегистратору.СторнируемыйДокумент;
				}
				if(true/*МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено*/)
				{
					if(true/*ИспользоватьГоловнуюОрганизацию*/)
					{
						//Организация = ОбщегоНазначения.ГоловнаяОрганизация(ПараметрОтборПоРегистратору.Организация);
					}
					//ЭлементОтбора.Значение = Организация;
					//ЭлементФормы.ТолькоПросмотр = Истина;
					if(true/*ТекстЗаголовка <> Неопределено*/)
					{
						//Форма.Заголовок = ТекстЗаголовка + Организация.Наименование;
					}
				}
				//ЭлементОтбора.Использование = Истина;
			}
		}
		// Выводит надпись и соответствующую ей картинку
		//
		// Параметры
		//  ЭУНадпись, ЭУКартинка - элементы управления формы, соответственно надпись и картинка
		//  ТекстСообщения - строка - выводимое сообщение
		//  ВажностьСообщения - строка - определяет расцветку текста и картинку
		//		допустимые значения: "СообщениеОПроблемах", "ВажнаяИнформация" и "Информация"
		//

		public void ПоказатьИнформациюОДокументе(/*ЭУНадпись = Неопределено, ЭУКартинка = Неопределено, ТекстСообщения = "", ВажностьСообщения = ""*/)
		{
			if(true/*ЭУНадпись = Неопределено Или ЭУКартинка = Неопределено*/)
			{
			}
			if(true/*ВажностьСообщения = "ВажнаяИнформация"*/)
			{
				//ЭУКартинка.Картинка = БиблиотекаКартинок.СообщениеВажнаяИнформация;
				//ЭУНадпись.ЦветТекста = ЦветаСтиля.ТекстСообщенияВажнойИнформации;
			}
			//ЭУНадпись.Заголовок = ТекстСообщения;
		}
		// ПоказатьИнформациюОДокументе()

		public void ОбработатьЗакрытиеФормы(/*Отказ, СтандартнаяОбработка, ФормаОбъекта*/)
		{
			//СтандартнаяОбработка = Ложь;
			//Отказ = Ложь;
			if(true/*ФормаОбъекта.Модифицированность*/)
			{
				//Ответ = РаботаСДиалогами.ЗадатьВопрос("Данные были изменены. Сохранить изменения?", РежимДиалогаВопрос.ДаНетОтмена, КодВозвратаДиалога.Да);
				if(true/*Ответ = КодВозвратаДиалога.Отмена*/)
				{
					//Отказ = Истина;
				}
			}
			if(true/*Отказ*/)
			{
			}
			//ФормаОбъекта.ЭлементыФормы.ПанельОткрытьИсходный.Свертка = РежимСверткиЭлементаУправления.Нет;
			//ФормаОбъекта.ЭлементыФормы.ПанельОткрытьИсправление.Свертка = РежимСверткиЭлементаУправления.Нет;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ФОРМИРОВАНИЯ И ОБРАБОТКИ МЕНЮ
		// Процедура вызывается формирования кнопки "Подбор" для формы видов расчетов Планов Видов Расчетов.
		//
		// Параметры:
		//  СсылкаПВР 	   	   - ссылка на ПВР;
		//  ФормаЭлемента 	   - Форма вида расчета.
		//  СтруктураДействий  - структура с действиями, которые будут вызывать формируемые кнопки
		//  ВедущиеВидыРасчета - булево, Истина - если нужно формировать кнопку в командной
		//						 панели ТЧ "ВедущиеВидыРасчета".
		//

		public void СоздатьКнопкуПодбораДляПВР(/*СсылкаПВР, ФормаЭлемента, СтруктураДействий, ВедущиеВидыРасчета = Ложь*/)
		{
			//МассивДоступныхТипов = Новый Массив;
			//КоллекцияБазовыхВидовРасчета = Метаданные.ПланыВидовРасчета[СсылкаПВР.Метаданные().Имя].БазовыеВидыРасчета;
			//КнопкаБазовыхРасчетов = ФормаЭлемента.ЭлементыФормы.КоманднаяПанельБазовыеВидыРасчета.Кнопки.Подбор;
			if(true/*КоллекцияБазовыхВидовРасчета.Количество() > 1*/)
			{
				//КнопкаБазовыхРасчетов.ТипКнопки = ТипКнопкиКоманднойПанели.Подменю;
				if(true/*ВедущиеВидыРасчета*/)
				{
					//КнопкаВедущихРасчетов = ФормаЭлемента.ЭлементыФормы.КоманднаяПанельВедущиеВидыРасчета.Кнопки.Подбор;
					//КнопкаВедущихРасчетов.ТипКнопки = ТипКнопкиКоманднойПанели.Подменю;
				}
			}
			if(true/*ВедущиеВидыРасчета*/)
			{
				//ФормаЭлемента.ЭлементыФормы.ВедущиеВидыРасчета.Колонки.ВидРасчета.ЭлементУправления.ОграничениеТипа = Новый ОписаниеТипов(МассивДоступныхТипов);
				if(true/*КоллекцияБазовыхВидовРасчета.Количество() = 1*/)
				{
					//ФормаЭлемента.ЭлементыФормы.ВедущиеВидыРасчета.Колонки.ВидРасчета.ЭлементУправления.ВыбиратьТип = Ложь;
				}
			}
		}
		// СоздатьКнопкуПодбораДляПВР()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПРЕДСТАВЛЕНИЯ ИНФОРМАЦИИ В ФОРМЕ
		// По описателям состояния расчетного документа (флажкам) формирует текст инфо-строки и важность сообщения
		//
		// Параметры
		//	НеЗаполнен,ЗаполненСОшибками,Рассчитан,Проведен,ЭтоИсправление,ДокументИсправлен,Отсторнирован - булево (все)
		//		описывают достижение документом того или иного состояния
		//
		// Возвращаемое значение:
		//	Структура из двух строковых значений - ТекстСообщения и ВажностьСообщения
		//

		public object ПолучитьОписаниеРасчетногоДокумента(/*Заполнен = Ложь, ЗаполненСОшибками = Ложь, Рассчитан = Ложь, Проведен = Ложь, ЭтоИсправление = Ложь, ДокументИсправлен = Ложь, Отсторнирован = Ложь, ИмеетПродолжение = Ложь, ЯвляетсяПродолжением = Ложь*/)
		{
			//ТекстСообщения = "";
			//ВажностьСообщения = "";
			if(true/*Не Заполнен*/)
			{
				//ВажностьСообщения = "СообщениеОПроблемах";
				//ТекстСообщения = "Документ не заполнен";
			}
			//ТекстПродолжений = "";
			if(true/*ЯвляетсяПродолжением*/)
			{
				//ТекстПродолжений = "Этот больничный является б/л-продолжением. ";
			}
			if(true/*ИмеетПродолжение*/)
			{
				//ТекстПродолжений = ТекстПродолжений + "Этот больничный имеет продолжение. ";
			}
			return null;
		}

		public object ПолучитьОписаниеКадровогоДокумента(/*Заполнен = Ложь, ЗаполненСОшибками = Ложь, Проведен = Ложь, ЭтоИсправление = Ложь, ДокументИсправлен = Ложь, ПеренесенИз77 = Ложь*/)
		{
			//ТекстСообщения = "";
			//ВажностьСообщения = "";
			if(true/*ПеренесенИз77*/)
			{
				//ВажностьСообщения = "ВажнаяИнформация";
				//ТекстСообщения = "Документ перенесен из программы ""1С:Зарплата и кадры 7.7"". При проведении документа движения формироваться не будут";
			}
			return null;
		}
		// Функция возвращает представление периода по переданной дате
		// как месяц и год в родительном падеже
		// вызывается из форм настройки параметров

		public object ПолучитьПредставлениеПериодаКакМесяцГодРодительныйПадеж(/*ДатаПериода*/)
		{
			//ПериодСтрокой = РаботаСДиалогами.ДатаКакМесяцПредставление(ДатаПериода);
			//УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), ПериодСтрокой, 2, Перечисления.ПолФизическихЛиц.Мужской, ПериодСтрокой);
			return null;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ЗАПОЛНЕНИЯ РЕКВИЗИТОВ В ФОРМЕ
		// Процедура заполняет вычисляемую колонку ТЧ документа "ТабельныйНомерСтрока"
		//
		// Параметры
		//  ТЧДокумента  – Табличное поле
		//  ОформленияСтрок – Коллекция значений типа ОформлениеСтроки табличного поля ТЧДокумента
		//

		public void УстановитьЗначенияКолонкиТабельныйНомерСтрока(/*ТЧДокумента, ОформленияСтрок*/)
		{
			if(true/*ТЧДокумента.Колонки.Найти("ТабельныйНомерСтрока") = Неопределено 
		Или Не ТЧДокумента.Колонки.ТабельныйНомерСтрока.Видимость*/)
			{
			}
			//МассивСотрудников = Новый Массив;
			//Запрос = Новый Запрос;
			/*ТекстЗапроса = 
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Сотрудники.Код КАК ТабельныйНомер,
	|	Сотрудники.Ссылка КАК Сотрудник
	|ИЗ
	|	Справочник.СотрудникиОрганизаций КАК Сотрудники
	|ГДЕ
	|	Сотрудники.Ссылка В(&парамМассивСотрудников)";*/
			//Запрос.Текст = ТекстЗапроса;
			//Запрос.УстановитьПараметр("парамМассивСотрудников", МассивСотрудников);
			//ТабельныеНомера = Новый Соответствие;
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				//ТабельныеНомера[Выборка.Сотрудник] = Выборка.ТабельныйНомер;
			}
		}
		// УстановитьЗначенияКолонкиТабельныйНомерСтрока()
		// Процедура управляет валютой в зависимости от способа расчета,
		// а также оформлением других полей, которое зависит от выбранного вида расчета
		//

		public void ПриИзмененииВидаРасчета(/*ИмяОбъекта, Значение, ЭлементыФормы, мСведенияОВидахРасчета, мВалюта*/)
		{
			//СведенияОВидеРасчета = РаботаСДиалогамиЗК.ПолучитьСведенияОВидеРасчетаСхемыМотивации(мСведенияОВидахРасчета, Значение);
			//РаботаСДиалогамиЗК.УстановитьФорматЗначенийПоказателей(ЭлементыФормы[ИмяОбъекта], мСведенияОВидахРасчета);
		}
		// ПриИзмененииВидаРасчета
		// Процедура обслуживает обработчики события НачалоВыбора ЭУ "СторнируемыйДокумент" или "ДокументОснование" табличной части

		public void ОбработкаНачалоВыбораСторнируемогоДокумента(/*Элемент, Форма, Ссылка, Организация, СтандартнаяОбработка, ЭтоОсновныеНачисления, ДокументМенеджер = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			if(true/*ДокументМенеджер = Неопределено*/)
			{
				//ИмяРегистра = ?(ЭтоОсновныеНачисления, "ОсновныеНачисленияРаботниковОрганизаций", "ДополнительныеНачисленияРаботниковОрганизаций");
				//СпискиРегистраторов = глЗначениеПеременной("глСпискиРегистраторов");
				//СписокДляВыбора = Новый СписокЗначений;
				//СпискиРегистраторов.Свойство(ИмяРегистра, СписокДляВыбора);
				//ЭлементСписка = Форма.ВыбратьИзСписка(СписокДляВыбора,Элемент,);
				if(true/*Не ЭлементСписка = Неопределено*/)
				{
					//ФормаВыбора = ЭлементСписка.Значение.ПолучитьФормуВыбора( , Элемент, Ссылка);
					if(true/*Не ЭлементСписка.Значение = Документы.Сторнирование*/)
					{
						//ФормаВыбора.Отбор.Организация.Установить(Организация);
					}
					//ФормаВыбора.ПараметрТекущаяСтрока	= ?(ТипЗнч(ЭлементСписка.Значение.ПустаяСсылка()) = ТипЗнч(Элемент.Значение), Элемент.Значение, Неопределено);
					//ФормаВыбора.Открыть();
				}
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ ИЗМЕНЕНИЯ ВИДИМОСТИ ПАНЕЛЕЙ
		// Процедура управляет отображением панелей формы путем свертки в низ
		// Пареметры
		//	 Панель - контейнер, в котором находятся расчетный листок и разделитель
		//	 ОтображатьПанель - булево, неопределено - инициализация при открытии формы
		//	 Надпись - заголовок расчетного листка
		//	 ПанельРасчетногоЛистка - панель расчетного листка
		//	 Разделитель - разделитель верхней и нижней панели
		//

		public void ИзменитьВидимостьПанелиРасчетногоЛистка(/*Панель, ОтображатьПанель = Неопределено, Надпись, ПанельРасчетногоЛистка, Разделитель*/)
		{
			/*// Инициализация при открытии формы
*/
			if(true/*ОтображатьПанель = Неопределено*/)
			{
				//ПанельРасчетногоЛистка.Свертка = РежимСверткиЭлементаУправления.Низ;
				//Разделитель.Доступность = Ложь;
			}
			if(true/*ОтображатьПанель*/)
			{
				if(true/*ПанельРасчетногоЛистка.Свертка = РежимСверткиЭлементаУправления.Низ*/)
				{
					/*// развернем панель, привязки на форме остались правильные
*/
					//ПанельРасчетногоЛистка.Свертка = РежимСверткиЭлементаУправления.Нет;
					/*// перепривяжем ЭУ для работы с развернутой панелью
*/
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель, ГраницаЭлементаУправления.Верх, Панель, ГраницаЭлементаУправления.Низ);
					//Надпись.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Разделитель, ГраницаЭлементаУправления.Низ);
					//ПанельРасчетногоЛистка.УстановитьПривязку(ГраницаЭлементаУправления.Верх, Надпись, ГраницаЭлементаУправления.Низ);
				}
			}
			//Разделитель.Доступность = ОтображатьПанель;
		}

		public void ИзменитьВидимостьПанелиПоГоризонтали(/*Форма, ОтображатьПанель, ИмяОсновнойПанели, ПостфиксЭлементов*/)
		{
			//ОсновнаяПанель	= Форма.ЭлементыФормы[ИмяОсновнойПанели];
			//Панель			= Форма.ЭлементыФормы["Панель" + ПостфиксЭлементов];
			//Разделитель		= Форма.ЭлементыФормы["Разделитель" + ПостфиксЭлементов];
			if(true/*ОтображатьПанель*/)
			{
				if(true/*Панель.Свертка = РежимСверткиЭлементаУправления.Право*/)
				{
					/*// установить привязку основной панели к разделителю
*/
					//ОсновнаяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Право, Разделитель, ГраницаЭлементаУправления.Лево);
					/*// развернуть разделитель
*/
					//Разделитель.Свертка = РежимСверткиЭлементаУправления.Нет;
					/*// развернуть панель
*/
					//Панель.Свертка = РежимСверткиЭлементаУправления.Нет;
					if(true/*Панель.Ширина > Форма.Ширина / 2*/)
					{
						/*// если максимизировать форму с закрытой справкой, а потом открыть справку, то форма
*/
						/*// будет выглядеть очень некрасиво
*/
						/*// поэтому необходимо ограничить ширину панели справки в случаях, когда справка получается на шире чем 1/2 формы
*/
						//РазницаВШирине = Форма.Ширина - 250 - Разделитель.Лево;
					}
					if(true/*РазницаВШирине < 0*/)
					{
						//РазницаВШирине = 0;
					}
					/*// восстановить привязки разделителя
*/
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Лево, Форма.Панель, ГраницаЭлементаУправления.Право);
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Право, Разделитель, ГраницаЭлементаУправления.Лево);
					/*// установить привязку панели справки к разделителю
*/
					//Панель.УстановитьПривязку(ГраницаЭлементаУправления.Лево, Разделитель, ГраницаЭлементаУправления.Право);
					//Разделитель.Лево = Разделитель.Лево + РазницаВШирине;
				}
			}
		}

		public void ИзменитьВидимостьПанелиПоВертикали(/*Форма, ОтображатьПанель, ИмяОсновнойПанели, ПостфиксЭлементов*/)
		{
			//ОсновнаяПанель	= Форма.ЭлементыФормы[ИмяОсновнойПанели];
			//Панель			= Форма.ЭлементыФормы["Панель" + ПостфиксЭлементов];
			//Разделитель		= Форма.ЭлементыФормы["Разделитель" + ПостфиксЭлементов];
			if(true/*ОтображатьПанель*/)
			{
				if(true/*Панель.Свертка = РежимСверткиЭлементаУправления.Верх*/)
				{
					/*// установить привязку основной панели к разделителю
*/
					//ОсновнаяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Верх, Разделитель, ГраницаЭлементаУправления.Низ);
					/*// развернуть разделитель
*/
					//Разделитель.Свертка = РежимСверткиЭлементаУправления.Нет;
					/*// развернуть панель
*/
					//Панель.Свертка = РежимСверткиЭлементаУправления.Нет;
					/*// восстановить привязки разделителя
*/
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Форма.Панель, ГраницаЭлементаУправления.Верх);
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Верх, Разделитель, ГраницаЭлементаУправления.Низ);
					/*// установить привязку панели справки к разделителю
*/
					//Панель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Разделитель, ГраницаЭлементаУправления.Верх);
				}
			}
		}

		public void ИзменитьВидимостьПанелиПоГоризонталиЛево(/*Форма, ОтображатьПанель, ПраваяПанель, ЛеваяПанель, Разделитель*/)
		{
			if(true/*ОтображатьПанель*/)
			{
				if(true/*ЛеваяПанель.Свертка = РежимСверткиЭлементаУправления.Лево*/)
				{
					/*// установить привязку основной панели к разделителю
*/
					//ПраваяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Лево, Разделитель, ГраницаЭлементаУправления.Право);
					/*// развернуть разделитель
*/
					//Разделитель.Свертка = РежимСверткиЭлементаУправления.Нет;
					/*// развернуть панель
*/
					//ЛеваяПанель.Свертка = РежимСверткиЭлементаУправления.Нет;
					/*// Переместим разделитель к левой панели
*/
					//Разделитель.Лево = ЛеваяПанель.Лево + ЛеваяПанель.Ширина;
					/*// восстановить привязки разделителя
*/
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Право, Форма.Панель, ГраницаЭлементаУправления.Лево);
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Лево, Разделитель, ГраницаЭлементаУправления.Право);
					/*// установить привязку панели справки к разделителю
*/
					//ЛеваяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Право, Разделитель, ГраницаЭлементаУправления.Лево);
					/*// Ширину определим от текущего размера формы, за минусом отступов по 8 слева и справа и шириной левой панели и разделителя
*/
					//ПраваяПанель.Ширина	= Форма.Ширина - ЛеваяПанель.Ширина - Разделитель.Ширина - 8 * 2;
					//ПраваяПанель.Лево	= Разделитель.Лево + Разделитель.Ширина;
				}
			}
		}
		// Процедура управляет отображением панелей формы путем свертки в низ
		// Пареметры
		//	 Панель - Панель, к низу которой производим привязку панели ВерхняяПанель при свертке панели НижняяПанель
		//	 ОтображатьПанель - булево
		//	 ВерхняяПанель - панель формы, которая всегда видима
		//	 НижняяПанель - панель формы, которую сворачиваем в низ
		//	 Разделитель - разделитель верхней и нижней панели
		//

		public void ИзменитьВидимостьПанелиПоВертикалиНиз(/*Панель, ОтображатьПанель, ВерхняяПанель, НижняяПанель, Разделитель*/)
		{
			if(true/*ОтображатьПанель*/)
			{
				if(true/*НижняяПанель.Свертка = РежимСверткиЭлементаУправления.Низ*/)
				{
					/*// необходимо развернуть панель
*/
					/*// текущая высота основной панели
*/
					//НачальнаяВысотаОсновнойПанели = ВерхняяПанель.Высота;
					/*// на основную панель отдаем половину высоты
*/
					//ВерхняяПанель.Высота = Окр(НачальнаяВысотаОсновнойПанели * 0.6 ,0);
					/*// развернем разделитель, устатановим его внизу основной панели, настроим привязки
*/
					//Разделитель.Свертка = РежимСверткиЭлементаУправления.Нет;
					//Разделитель.Верх = ВерхняяПанель.Верх + ВерхняяПанель.Высота;
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель, ГраницаЭлементаУправления.Верх, Панель, ГраницаЭлементаУправления.Низ);
					//Разделитель.УстановитьПривязку(ГраницаЭлементаУправления.Верх, Разделитель, ГраницаЭлементаУправления.Низ);
					/*// развернем нижнюю панель,установим ее к разделителю, настроим привязки
*/
					//НижняяПанель.Свертка = РежимСверткиЭлементаУправления.Нет;
					//НижняяПанель.Верх = Разделитель.Верх + 6;
					//НижняяПанель.Высота = НачальнаяВысотаОсновнойПанели - ВерхняяПанель.Высота - 6;
					//НижняяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Верх, Разделитель, ГраницаЭлементаУправления.Верх);
					//НижняяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель, ГраницаЭлементаУправления.Низ);
				}
				//ВерхняяПанель.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Разделитель, ГраницаЭлементаУправления.Верх);
			}
		}
		///////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ПЛАНОВ ВИДОВ РАСЧЕТА

		public void УстановитьОтборыИСверткуПоказателей(/*ЭлементыФормы, Показатели, ПроизвольнаяФормулаРасчета = Истина*/)
		{
			//ПоказателиДляОтбора = Новый СписокЗначений;
			if(true/*ПроизвольнаяФормулаРасчета*/)
			{
				//ЭлементыФормы.Показатели.ОтборСтрок.Показатель.Использование = Истина;
				//ЭлементыФормы.Показатели.ОтборСтрок.Показатель.ВидСравнения = ВидСравнения.ВСписке;
				//ЭлементыФормы.Показатели.ОтборСтрок.Показатель.Значение = ПоказателиДляОтбора;
			}
			//ИзменитьВидимостьПанелиПоВертикалиНиз(ЭлементыФормы.ПанельПредставлениеФормулы, ПоказателиДляОтбора.Количество() <> 0, ЭлементыФормы.СпособРасчетаПредставление, ЭлементыФормы.ПанельПоказателей, ЭлементыФормы.РазделительПоказателей);
		}

		public object ПроверитьПВРНаПустыеСтрокиВТЧ(/*ВидРасчета, ЕстьВытесняющиеВидыРасчета = Ложь*/)
		{
			//КоничествоСтрок = ВидРасчета.БазовыеВидыРасчета.Количество() - 1;
			//НомерСтроки = 0;
			while(true/*НомерСтроки <= КоничествоСтрок*/)
			{
				//СтрокаБазовыйРасчет = ВидРасчета.БазовыеВидыРасчета[НомерСтроки];
				if(true/*Не ЗначениеЗаполнено(СтрокаБазовыйРасчет.ВидРасчета)*/)
				{
					//ВидРасчета.БазовыеВидыРасчета.Удалить(НомерСтроки );
					//КоничествоСтрок = КоничествоСтрок - 1;
				}
			}
			/*;
	
	КоничествоСтрок = ВидРасчета.ВедущиеВидыРасчета.Количество() - 1;*/
			//НомерСтроки = 0;
			while(true/*НомерСтроки <= КоничествоСтрок*/)
			{
				//СтрокаВедущийРасчет = ВидРасчета.ВедущиеВидыРасчета[НомерСтроки];
				if(true/*Не ЗначениеЗаполнено(СтрокаВедущийРасчет.ВидРасчета)*/)
				{
					//ВидРасчета.ВедущиеВидыРасчета.Удалить(НомерСтроки );
					//КоничествоСтрок = КоничествоСтрок - 1;
				}
			}
			if(true/*ЕстьВытесняющиеВидыРасчета*/)
			{
				//КоничествоСтрок = ВидРасчета.ВытесняющиеВидыРасчета.Количество() - 1;
				//НомерСтроки = 0;
				while(true/*НомерСтроки <= КоничествоСтрок*/)
				{
					//СтрокаВытесняющейРасчет = ВидРасчета.ВытесняющиеВидыРасчета[НомерСтроки];
					if(true/*Не ЗначениеЗаполнено(СтрокаВытесняющейРасчет.ВидРасчета)*/)
					{
						//ВидРасчета.ВытесняющиеВидыРасчета.Удалить(НомерСтроки );
						//КоничествоСтрок = КоничествоСтрок - 1;
					}
				}
				//;;
			}
			return null;
		}
		// Процедура открывает редактор формуль расчета из вида расчета
		//
		// Параметры
		//  ФормаПВР  - форма вида расчета из которой вызывается редактор формул расчета
		//	Показатели - таблица показателей
		//  Наименование - наименование вида расчета
		//  ФормулаРасчета - формула расчета
		//

		public void ОткрытьФормуРедактированияФормулы(/*ФормаПВР, Показатели, Наименование, ФормулаРасчетаПредставление, ВидРасчета, ВидПВР = ""*/)
		{
			//РедакторФормулРасчета = ПолучитьОбщуюФорму("РедакторФормулРасчета", ФормаПВР);
			//РедакторФормулРасчета.Заголовок = "Редактирование формулы расчета: " + Наименование;
			//ПоказателиДляФормыВвода = Новый СписокЗначений;
			//ФормулаРасчета = ПроведениеРасчетов.ПолучитьHTLMКодФормулыРасчета(ФормулаРасчетаПредставление, Показатели, "Текст", Истина);
			//РедакторФормулРасчета.ВидРасчета		= ВидРасчета;
			//РедакторФормулРасчета.Показатели		= ПоказателиДляФормыВвода;
			//РедакторФормулРасчета.ФормулаРасчета	= ФормулаРасчета;
			//РедакторФормулРасчета.ФормулаРасчетаПредставление	= ФормулаРасчетаПредставление;
			//РедакторФормулРасчета.ВидПВР			= ВидПВР;
			//РедакторФормулРасчета.Открыть();
		}
		//ОткрытьФормуРедактированияФормулы
		// Процедура открывает форму выбора ПланыВидовРасчета.ОсновныеНачисленияОрганизаций
		// Отборы передаются в структуре СтруктураПараметровОтбора
		//
		// Параметры:
		//	Владелец 			- владелец формы
		//	Ключ 				- ключ, ссылка на ЭУ из которого открывается форма
		//	СтруктураПараметровОтбора - Структура с параметрами отбора
		//	СтандартнаяОбработка- Булево
		//	ТекущееЗначение 	- ссылка на элемент, на котором необходимо спозиционироваться при открытии формы
		//  СписокПредопределенныхВР - список значений с предопределенными ВР, для установки отбора, когда в структуре
		//							   параметров отбора есть ключ - Предопределенный
		//

		public void ОткрытьФормуВыбораОсновныеНачисленияОрганизаций(/*Владелец, Ключ, СтруктураПараметровОтбора, СтандартнаяОбработка, ТекущееЗначение = Неопределено, СписокПредопределенныхВР = Неопределено*/)
		{
			//СтандартнаяОбработка = Ложь;
			//ФормаВыбора = ПланыВидовРасчета.ОсновныеНачисленияОрганизаций.ПолучитьФормуВыбора(, Владелец, Ключ);
			if(true/*ТекущееЗначение <> Неопределено*/)
			{
				//ФормаВыбора.НачальноеЗначениеВыбора = ТекущееЗначение;
			}
			/*//установим отборы
*/
			//ФормаВыбора.Открыть();
		}
		////////////////////////////////////////////////////////////////////////////////
		// МЕХАНИЗМ ДОПОЛНИТЕЛЬНЫХ КОЛОНОК В ТАБЛИЧНЫХ ПОЛЯХ ДОКУМЕНТОВ

		public object ДополнительныеКолонкиТабличныхПолейДокумента(/*ЭлементыФормы, ТабличныеПоля*/)
		{
			//ДополнительныеКолонки = Новый Структура;
			return null;
		}

		public object ВидимостьДополнительныхКолонок(/*ИмяДокумента, ТабличныеПоля*/)
		{
			//СтруктураДанныхОВидимостиДополнительныхКолонок = ВосстановитьЗначение(ИмяДокумента + "СтруктураДанныхОВидимостиДополнительныхКолонок");
			if(true/*СтруктураДанныхОВидимостиДополнительныхКолонок = Неопределено*/)
			{
				//СтруктураДанныхОВидимостиДополнительныхКолонок = Новый Структура;
			}
			return null;
		}

		public void СохранитьСтруктуруВидимостиДополнительныхКолонок(/*ИмяДокумента, СтруктураДанныхОВидимостиДополнительныхКолонок*/)
		{
			//СохранитьЗначение(ИмяДокумента + "СтруктураДанныхОВидимостиДополнительныхКолонок", СтруктураДанныхОВидимостиДополнительныхКолонок);
		}

		public void ПоказатьСкрытьДополнительныеКолонкиТабличногоПоля(/*ДополнительныеКолонкиТабличногоПоля, ВидимостьДополнительныхКолонок, КоманднаяПанельТабличногоПоля*/)
		{
		}

		public void ПоказатьСкрытьДополнительныеКолонки(/*ДополнительныеКолонки, СтруктураДанныхОВидимостиДополнительныхКолонок, ТабличныеПоляИКомандныеПанели, ТабличноеПоле = Неопределено*/)
		{
			if(true/*ТабличноеПоле = Неопределено*/)
			{
				/*// управляем видимостью колонок для всех табличных полей перечисленных в структуре
*/
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// МЕХАНИЗМ КОНТРОЛЯ ПЕРИОДИЧЕСКИХ ВЫПЛАТ

		public void ПроверитьДанныеОПериодическихВыплатах(/*Ссылка, Отказ, ПерерассчитываемыйДокумент = Неопределено, ДанныеДокумента = Неопределено*/)
		{
			//Запрос = Новый Запрос;
			//НаборЗаписей = ПроведениеРасчетов.ПолучитьНаборПериодическихВыплатПоДокументу(Ссылка, ДанныеДокумента);
			//Запрос.УстановитьПараметр("НаборЗаписей", НаборЗаписей);
			if(true/*ЗначениеЗаполнено(ПерерассчитываемыйДокумент)*/)
			{
				//Запрос.УстановитьПараметр("ПерерассчитываемыйДокумент", ПерерассчитываемыйДокумент);
			}
			/*ТекстЗапроса = 
	"ВЫБРАТЬ
	|	НаборЗаписей.ПериодНачисления,
	|	НаборЗаписей.Сотрудник,
	|	НаборЗаписей.ВидРасчета,
	|	НаборЗаписей.ДокументОснование
	|ПОМЕСТИТЬ НаборЗаписей
	|ИЗ
	|	&НаборЗаписей КАК НаборЗаписей
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ПериодическиеНачисления.ВидРасчета КАК ВидРасчета,
	|	ПериодическиеНачисления.Сотрудник,
	|	ПериодическиеНачисления.ПериодНачисления,
	|	ПериодическиеНачисления.Регистратор
	|ПОМЕСТИТЬ СуществующиеЗаписи
	|ИЗ
	|	РегистрСведений.ПериодическиеНачисления КАК ПериодическиеНачисления
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ НаборЗаписей КАК НаборЗаписей
	|		ПО ПериодическиеНачисления.ПериодНачисления = НаборЗаписей.ПериодНачисления
	|			И ПериодическиеНачисления.Сотрудник = НаборЗаписей.Сотрудник
	|			И ПериодическиеНачисления.ВидРасчета = НаборЗаписей.ВидРасчета
	|			И ПериодическиеНачисления.Регистратор <> НаборЗаписей.ДокументОснование";*/
			if(true/*ЗначениеЗаполнено(ПерерассчитываемыйДокумент)*/)
			{
				/*ТекстЗапроса = ТекстЗапроса + "	
	|			И (ПериодическиеНачисления.Регистратор <> &ПерерассчитываемыйДокумент)";*/
			}
			/*// поместим в таблицу записи, которые сделаны отсторнированными документами
*/
			/*ТекстЗапроса = ТекстЗапроса + "	
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	Сторнирование.Ссылка КАК ДокументСторно,
	|	СуществующиеЗаписи.Регистратор
	|ПОМЕСТИТЬ ДокументыСторно
	|ИЗ
	|	СуществующиеЗаписи КАК СуществующиеЗаписи
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Сторнирование КАК Сторнирование
	|		ПО СуществующиеЗаписи.Регистратор = Сторнирование.СторнируемыйДокумент
	|;
	|";*/
			/*// поместим записи, которые сделаны исправленными документами
*/
			/*ТекстЗапроса = ТекстЗапроса + "	
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.Ссылка КАК ДокументИсправление,
	|	СуществующиеЗаписи.ВидРасчета,
	|	СуществующиеЗаписи.Сотрудник,
	|	СуществующиеЗаписи.Регистратор
	|ПОМЕСТИТЬ ДокументыИсправления
	|ИЗ
	|	СуществующиеЗаписи КАК СуществующиеЗаписи
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.НачислениеЗарплатыРаботникамОрганизаций.ДополнительныеНачисления КАК НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления
	|		ПО СуществующиеЗаписи.Регистратор = НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.Ссылка.ПерерассчитываемыйДокумент
	|			И НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.Ссылка.Проведен
	|			И СуществующиеЗаписи.Сотрудник = НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.Сотрудник
	|			И СуществующиеЗаписи.ВидРасчета = НачислениеЗарплатыРаботникамОрганизацийДополнительныеНачисления.ВидРасчета
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	ПремииРаботниковОрганизацийНачисления.Ссылка,
	|	СуществующиеЗаписи.ВидРасчета,
	|	СуществующиеЗаписи.Сотрудник,
	|	СуществующиеЗаписи.Регистратор
	|ИЗ
	|	СуществующиеЗаписи КАК СуществующиеЗаписи
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПремииРаботниковОрганизаций.Начисления КАК ПремииРаботниковОрганизацийНачисления
	|		ПО СуществующиеЗаписи.Регистратор = ПремииРаботниковОрганизацийНачисления.Ссылка.ПерерассчитываемыйДокумент
	|			И ПремииРаботниковОрганизацийНачисления.Ссылка.Проведен
	|			И СуществующиеЗаписи.Сотрудник = ПремииРаботниковОрганизацийНачисления.Сотрудник
	|			И СуществующиеЗаписи.ВидРасчета = ПремииРаботниковОрганизацийНачисления.Ссылка.ВидРасчета
	|
	|ОБЪЕДИНИТЬ ВСЕ
	|
	|ВЫБРАТЬ
	|	РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Ссылка,
	|	СуществующиеЗаписи.ВидРасчета,
	|	СуществующиеЗаписи.Сотрудник,
	|	СуществующиеЗаписи.Регистратор
	|ИЗ
	|	СуществующиеЗаписи КАК СуществующиеЗаписи
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РегистрацияРазовыхНачисленийРаботниковОрганизаций.ДополнительныеНачисления КАК РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления
	|		ПО СуществующиеЗаписи.Регистратор = РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Ссылка.ПерерассчитываемыйДокумент
	|			И РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Ссылка.Проведен
	|			И СуществующиеЗаписи.Сотрудник = РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.Сотрудник
	|			И СуществующиеЗаписи.ВидРасчета = РегистрацияРазовыхНачисленийРаботниковОрганизацийДополнительныеНачисления.ВидРасчета
	|;
	|";*/
			/*// выбираем те записи, которых нет ни в отсторнированных документах, ни в исправленных
*/
			/*ТекстЗапроса = ТекстЗапроса + "	
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	СуществующиеЗаписи.ВидРасчета КАК ВидРасчета,
	|	СуществующиеЗаписи.Сотрудник,
	|	СуществующиеЗаписи.ПериодНачисления,
	|	СуществующиеЗаписи.Регистратор
	|ИЗ
	|	СуществующиеЗаписи КАК СуществующиеЗаписи
	|		ЛЕВОЕ СОЕДИНЕНИЕ ДокументыСторно КАК ДокументыСторно
	|		ПО СуществующиеЗаписи.Регистратор = ДокументыСторно.Регистратор
	|		ЛЕВОЕ СОЕДИНЕНИЕ ДокументыИсправления КАК ДокументыИсправления
	|		ПО СуществующиеЗаписи.Регистратор = ДокументыИсправления.Регистратор
	|			И СуществующиеЗаписи.ВидРасчета = ДокументыИсправления.ВидРасчета
	|			И СуществующиеЗаписи.Сотрудник = ДокументыИсправления.Сотрудник
	|ГДЕ
	|	ДокументыИсправления.ДокументИсправление ЕСТЬ NULL 
	|	И ДокументыСторно.ДокументСторно ЕСТЬ NULL 
	|ИТОГИ ПО
	|	ВидРасчета";*/
			//Запрос.Текст = ТекстЗапроса;
			//ВыборкаПоВидамРасчета = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			while(true/*ВыборкаПоВидамРасчета.Следующий()*/)
			{
				//Выборка = ВыборкаПоВидамРасчета.Выбрать();
				//ТекстСотрудники = "";
				//Сотрудников = 0;
				while(true/*Выборка.Следующий()*/)
				{
					//Сотрудников = Сотрудников + 1;
					if(true/*Сотрудников > 3*/)
					{
						//ТекстСотрудники = ТекстСотрудники + " и др.";
					}
					//ТекстСотрудники = ТекстСотрудники + ?(ЗначениеЗаполнено(ТекстСотрудники), ", ", "") + ОбщегоНазначения.ФамилияИнициалыФизЛица(Выборка.Сотрудник);
				}
				if(true/*Сотрудников = 1*/)
				{
					/*ТекстВопроса = "Сотруднику " + ТекстСотрудники + " " 
			+ ВыборкаПоВидамРасчета.ВидРасчета + " уже начислена в этом периоде. 
			|Начислить повторно?";*/
				}
				//Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да,);
				if(true/*Ответ <> КодВозвратаДиалога.Да*/)
				{
					//Отказ = Истина;
				}
			}
			//;;
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОФОРМЛЕНИЯ ФОРМЫ

		public void УстановитьДоступностьФормыДляРедактирования(/*ДокументОбъект, ФормаДокумента*/)
		{
			if(true/*НЕ ФормаДокумента.ТолькоПросмотр*/)
			{
				//ФормаДокумента.ТолькоПросмотр = НастройкаПравДоступа.ДокументВЗакрытомПериоде(ДокументОбъект);
			}
		}
		// УстановитьДоступностьФормыДляРедактирования

		public void УстановитьЗаголовокФормыЗаписиФизлица(/*СтрокаОписания, ФизЛицо, ФормаЗаписи*/)
		{
			//ФормаЗаписи.АвтоЗаголовок = Ложь;
			/*// заголовок будем писать сами
*/
			//ФормаЗаписи.Заголовок = СтрокаОписания + ": " + ОбщегоНазначения.ПолучитьПредставленияОбъектов(ФизЛицо);
		}
		// УстановитьЗаголовокФормыДокумента()
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОТКРЫТИЯ ФОРМ ОБЪЕКТОВ
		// Процедура открывает форму списка регистра сведений ШтатноеРасписаниеОрганизаций
		//
		// Параметры
		//		СтруктураПараметрыФормы - структура, содержит параметры которые необходимо передать в форму
		//					или значения реквизитов обработки.
		//					Ключ - имя реквизита формы или экспортной переменной, значение - его значение
		//

		public void ОткрытьФормуШтатноеРасписаниеОрганизаций(/*СтруктураПараметрыФормы = Неопределено*/)
		{
			if(true/*ТипЗнч(СтруктураПараметрыФормы) = Тип("Массив")*/)
			{
				//МассивПараметров = СтруктураПараметрыФормы;
				//СтруктураПараметрыФормыПриОткрытии = ?(МассивПараметров.Количество() > 0, МассивПараметров[0], Неопределено);
			}
			//Форма = РегистрыСведений.ШтатноеРасписаниеОрганизаций.ПолучитьФорму("ФормаСписка");
			if(true/*СтруктураПараметрыФормыПриОткрытии <> Неопределено*/)
			{
				//ЗаполнитьЗначенияСвойств(Форма, СтруктураПараметрыФормыПриОткрытии);
			}
			//Форма.Открыть();
		}

		public void ОткрытьФормуЭлементаОрганизация(/*Организация, ИмяСтраницы = Неопределено, ИмяТекущегоЭлемента = Неопределено*/)
		{
			if(true/*ТипЗнч(Организация) = Тип("Массив")*/)
			{
				//МассивПараметров = Организация;
				//ИмяТекущегоЭлемента = ?(МассивПараметров.Количество() = 3, МассивПараметров[2], Неопределено);
				//ИмяСтраницы = ?(МассивПараметров.Количество() > 1, МассивПараметров[1], Неопределено);
				//ОрганизацияДляОткрытия = ?(МассивПараметров.Количество() > 0, МассивПараметров[0], Неопределено);
			}
			if(true/*ОрганизацияДляОткрытия = Неопределено*/)
			{
			}
			//Форма = ОрганизацияДляОткрытия.ПолучитьФорму("ФормаЭлемента");
			//Форма.Открыть();
			if(true/*ИмяСтраницы <> Неопределено*/)
			{
				//Форма.ЭлементыФормы.ОсновнаяПанель.ТекущаяСтраница = Форма.ЭлементыФормы.ОсновнаяПанель.Страницы.Найти(ИмяСтраницы);
			}
			if(true/*ИмяТекущегоЭлемента <> Неопределено*/)
			{
				//Форма.ТекущийЭлемент = Форма.ЭлементыФормы.Найти(ИмяТекущегоЭлемента);
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// ИСПРАВЛЕНИЕ ДОКУМЕНТОВ
		// В документах на одного сотрудника (отпуск, б/л и пр.) в зависимости от состояния
		// 	документа кнопки исправлений либо не показываются вообще, либо показывается одна из них
		//
		// Параметры
		//	ПериодРегистрацииДокумента - дата - определяет месяц начисления документа
		//  ДокументИсправлен, ДокументСторнирован - булево, флажки состояния документа
		//	Кнопки - коллекция кнопок соответствующей панели документа
		//  КнопкаИсправление, КнопкаОтменаИсправление - кнопки-эталоны
		//

		public void УстановитьКнопкиИсправленияДокументаОдногоСотрудника(/*ПериодРегистрацииДокумента, ДокументИсправлен, ДокументСторнирован, Кнопки, КнопкаИсправление, КнопкаОтменаИсправление*/)
		{
			if(true/*Кнопки.Найти(КнопкаИсправление.Имя) <> Неопределено Или Кнопки.Найти(КнопкаОтменаИсправление.Имя) <> Неопределено*/)
			{
				//СтароеИмя = Кнопки[Кнопки.Количество() - 1].Имя;
				//НовоеИмя = "";
				if(true/*Не ДокументСторнирован*/)
				{
					/*// Документ не был отсторнирован
*/
					if(true/*ДокументИсправлен*/)
					{
						/*// Документ исправлен
*/
						//НовоеИмя = КнопкаОтменаИсправление.Имя;
					}
				}
				if(true/*НовоеИмя <> СтароеИмя*/)
				{
					//Кнопки.Удалить(Кнопки.Количество() - 1);
					if(true/*НовоеИмя = КнопкаОтменаИсправление.Имя*/)
					{
						//НоваяКнопка = Кнопки.Добавить("Новая", ТипКнопкиКоманднойПанели.Действие, , КнопкаОтменаИсправление.Действие);
						//ЗаполнитьЗначенияСвойств(НоваяКнопка, КнопкаОтменаИсправление);
					}
				}
			}
		}
		// Процедура создает новый документ, заполняет его данными исправляемого документа
		// 	и предъявляет пользователю для дальнейшей работы
		//
		// Параметры
		//	ИсправляемыйДокумент - тип ДокументОбъект.<Имя документа> - документ, для которого вводится исправление
		//  ФормаИсправляемогоДокумента - форма этого документа
		//  Сотрудники - массив сотрудников, по которым выполняется исправление; необязательный, если не указан - по всем
		//

		public object ВвестиДокументИсправление(/*ИсправляемыйДокумент, ФормаИсправляемогоДокумента = Неопределено, Сотрудники = Неопределено, ПериодРегистрации = Неопределено*/)
		{
			//МД = ИсправляемыйДокумент.Метаданные();
			if(true/*ИсправляемыйДокумент.Проведен ИЛИ МД.Проведение = Метаданные.СвойстваОбъектов.Проведение.Запретить*/)
			{
				if(true/*ФормаИсправляемогоДокумента <> Неопределено*/)
				{
					//ТекстВопроса = "Для исправления необходимо записать документ. Продолжить?";
					if(true/*Не РаботаСДиалогами.ЗаписатьДокументПередВыполнениемДействия(ИсправляемыйДокумент, ФормаИсправляемогоДокумента, ТекстВопроса)*/)
					{
					}
				}
				if(true/*ТипЗнч(ИсправляемыйДокумент) = Тип("ДокументОбъект.ПереносДанных")*/)
				{
					//Исправление = Документы.НачислениеЗарплатыРаботникамОрганизаций.СоздатьДокумент();
				}
				if(true/*МД.Реквизиты.Найти("ПериодРегистрации") <> Неопределено*/)
				{
					//Исправление.ПериодРегистрации = Макс(?(ЗначениеЗаполнено(ПериодРегистрации),ПериодРегистрации,НачалоМесяца(ОбщегоНазначения.ПолучитьРабочуюДату())),ДобавитьМесяц(ИсправляемыйДокумент.ПериодРегистрации,1));
				}
				//Исправление.ЗаполнитьПоПерерассчитываемомуДокументу(ИсправляемыйДокумент, Сотрудники);
				//ФормаДокумента = Исправление.ПолучитьФорму(,,ИсправляемыйДокумент.Ссылка);
				//ФормаДокумента.Открыть();
			}
			return null;
		}
		// Процедура собирает данные о существующих документах-исправлениях всех уровней,
		// 	и формирует текст информирования пользователя, показывает его и запрашивает согласие
		// 	пользователя на удаление исправлений.
		// 	Если пользователь согласился, очищает в найденных документах-исправлениях
		// 	поле, содержащее исправляемый документ и помечает документы на удаление.
		//
		// Параметры
		//	ИсправленныйДокумент - тип ДокументСсылка.<Имя документа> - ошибочно исправленный документ
		//	ИмяРеквизитаИсправляемыйДокумент - тип строка - имя поле, содержащего исправляемый документ
		//

		public void ОтменитьИсправлениеДокумента(/*ИсправленныйДокумент, ИмяРеквизитаИсправляемыйДокумент = "ПерерассчитываемыйДокумент"*/)
		{
			//МетаданныеДокумента = ИсправленныйДокумент.Метаданные();
			//РежимПоиска = ?(МетаданныеДокумента.Реквизиты.Найти("Сотрудник") = Неопределено, "КритерийОтбора","ТаблицаДокумента");
			//ИмяДокумента = МетаданныеДокумента.Имя;
			if(true/*ИмяДокумента = "ПереносДанных"*/)
			{
				/*// документ является исключением, т.к. исправляется документом другого вида
*/
				//ИмяДокумента = "НачислениеЗарплатыРаботникамОрганизаций";
			}
			//ИсправленияКОтмене = Новый Массив;
			//Исправление = ПроведениеРасчетов.ПолучитьДокументИсправление(ИсправленныйДокумент, РежимПоиска, ИмяДокумента, ИмяРеквизитаИсправляемыйДокумент);
			while(true/*ЗначениеЗаполнено(Исправление)*/)
			{
				if(true/*РежимПоиска = "КритерийОтбора"*/)
				{
					//ИсправлениеСледующегоУровня = Новый Массив;
					//Исправление = ИсправлениеСледующегоУровня;
				}
			}
			/*;
	
	ВсегоИсправлений = ИсправленияКОтмене.Количество();*/
			if(true/*ВсегоИсправлений <> 0*/)
			{
				//Запрос = Новый Запрос;
				//Запрос.УстановитьПараметр("Исправления",ИсправленияКОтмене);
				if(true/*МетаданныеДокумента.Реквизиты.Найти("ПериодРегистрации") <> Неопределено*/)
				{
					/*Запрос.Текст = 
			"ВЫБРАТЬ
			|	МИНИМУМ(Документы.ПериодРегистрации) КАК ПериодРегистрацииС,
			|	МАКСИМУМ(Документы.ПериодРегистрации) КАК ПериодРегистрацииПо,
			|	КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Документы.ПериодРегистрации) КАК ВсегоПериодовРегистрации
			|ИЗ
			|	Документ." + ИмяДокумента + " КАК Документы
			|ГДЕ
			|	Документы.Ссылка В (&Исправления)";*/
				}
				//Запрос.Выполнить();
				//Выборка = Запрос.Выполнить().Выбрать();
				//Выборка.Следующий();
				if(true/*Выборка.ВсегоПериодовРегистрации = 1*/)
				{
					//Месяц = Формат(Выборка.ПериодРегистрацииС, "ДФ=MMMM");
					//УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), Месяц, 5, Перечисления.ПолФизическихЛиц.Мужской, Месяц);
					//ОписаниеПериода = НРег(Месяц) + " " + Формат(Выборка.ПериодРегистрацииС,"ДФ=гггг") + " г.";
				}
				/*ТекстВопроса =  ОбщегоНазначения.ФормаМножественногоЧисла("Найден ","Найдено ","Найдено ",ВсегоИсправлений) + ВсегоИсправлений 
			+ ОбщегоНазначения.ФормаМножественногоЧисла(" документ-исправление"," документа-исправления"," документов-исправлений",ВсегоИсправлений) 
			+ ОбщегоНазначения.ФормаМножественногоЧисла(", зарегистрированный ",", зарегистрированных ",", зарегистрированных ",ВсегоИсправлений) 
			+ ОписаниеПериода + " Отменить исправления?";*/
				//Ответ  = РаботаСДиалогами.ЗадатьВопрос(ТекстВопроса, РежимДиалогаВопрос.ОКОтмена, КодВозвратаДиалога.ОК);
				if(true/*Ответ = КодВозвратаДиалога.ОК Или Ответ = КодВозвратаДиалога.Таймаут*/)
				{
					//ОбработкаКомментариев = глЗначениеПеременной("глОбработкаСообщений");
					//ОбработкаКомментариев.УдалитьСообщения();
					//Заголовок = ОбщегоНазначенияЗК.КомментарийРасчета("Удаление документов-исправлений");
					if(true/*ВсегоИсправлений > 1*/)
					{
						//НачатьТранзакцию();
					}
					if(true/*ВсегоИсправлений > 1*/)
					{
						//ЗафиксироватьТранзакцию();
					}
					//ОбработкаКомментариев.ПоказатьСообщения();
				}
			}
		}
		// Устанавливает имя и доступность кнопки ТекущийСотрудник механизма исправлений
		//
		// Параметры
		//	ТипДанных - тип Тип.- определяет тип переданного текущего элемента: Сотрудник или Физлицо
		//  ТекущийСотрудник - тип СправочникСсылка.СотрудникиОрганизаций или СправочникСсылка.ФизическиеЛица, текущий сотрудник формы
		//  СотрудникиСИсправлениями - тип Соответствие, содержит всех сотрудников, чьи расчеты уже подвергались исправлениям
		//  Кнопка - описываемая кнопка командной панели
		//  ИмяБезСотрудника - строка, имя кнопки "по умолчанию"
		//

		public object ОбновитьКнопкуИсправленияРасчетовСотрудника(/*ТипДанных, ТекущийСотрудник, СотрудникиСИсправлениями, Кнопка, ИмяБезСотрудника = "Расчеты текущего сотрудника", ИмяССотрудником = "Расчеты"*/)
		{
			if(true/*Не ЗначениеЗаполнено(ТекущийСотрудник)*/)
			{
				//Кнопка.Текст = ИмяБезСотрудника;
				//Кнопка.Доступность = Истина;
			}
			return null;
		}
		// Процедура показывает документы исправления
		// Параметры
		//	ФормаДокумента - форма документа, из которой вызвана команда показа исправлений
		//	Ссылка - ссылка на текущий документ, исправления которого необходимо показать
		//  ДокументыИсправление - Массив документов, которые исправляли текущий документ
		//	ДокументСторнирование - ссылка на документ Сторнирование, который сторнировал текущий документ
		//

		public void ПоказатьИсправления(/*ФормаДокумента, Ссылка, ДокументыИсправление, ДокументСторнирование = Неопределено*/)
		{
			if(true/*ЗначениеЗаполнено(ДокументыИсправление)*/)
			{
				if(true/*ТипЗнч(ДокументыИсправление) = Тип("Массив")*/)
				{
					if(true/*ДокументыИсправление.Количество() = 1*/)
					{
						/*// если документ-исправление один, то откроем его
*/
						//ДокументыИсправление[0].ПолучитьФорму(, ФормаДокумента).Открыть();
					}
				}
			}
		}

		public void ОбновитьОписаниеСостоянияКадровогоДокумента(/*ЭтотОбъект, ЭтаФорма, ДокументыИсправление*/)
		{
			/*// Получим метаданные объекта
*/
			//МДОбъекта = ЭтотОбъект.Метаданные();
			//ЕстьТЧРаботникиОрганизации = (МДОбъекта.ТабличныеЧасти.Найти("РаботникиОрганизации") <> Неопределено);
			/*// связанные документы
*/
			//ЭтоИсправление = ЗначениеЗаполнено(ЭтотОбъект.ИсправляемыйДокумент);
			//ДокументИсправлен = ЗначениеЗаполнено(ДокументыИсправление);
			//НеЗаполнен = Не ЗначениеЗаполнено(ЭтотОбъект.Организация);
			if(true/*НЕ НеЗаполнен*/)
			{
				if(true/*ЕстьТЧРаботникиОрганизации*/)
				{
					//НеЗаполнен = ЭтотОбъект.РаботникиОрганизации.Количество() = 0;
				}
			}
			//ЗаполненСОшибками = ЭтаФорма.ДокументЗаполненСОшибками();
			if(true/*НЕ ЗаполненСОшибками*/)
			{
				if(true/*ЕстьТЧРаботникиОрганизации*/)
				{
					//ЗаполненСОшибками = ЭтотОбъект.РаботникиОрганизации.НайтиСтроки(Новый Структура("Сотрудник",Справочники.СотрудникиОрганизаций.ПустаяСсылка())).Количество() > 0;
				}
			}
			//ПеренесенИз77 = ЭтотОбъект.ДанныеПрошлойВерсии;
			/*ОписаниеСостоянияДокумента = ПолучитьОписаниеКадровогоДокумента(
		Не НеЗаполнен,
		ЗаполненСОшибками,
		ЭтотОбъект.Проведен,
		ЭтоИсправление,
		ДокументИсправлен,
		ПеренесенИз77);*/
			/*РаботаСДиалогамиЗК.ПоказатьИнформациюОДокументе(
		ЭтаФорма.ЭлементыФормы.НадписьПредупреждение,
		ЭтаФорма.ЭлементыФормы.ПолеКартинкиПредупреждение,
		ОписаниеСостоянияДокумента.ТекстСообщения,
		ОписаниеСостоянияДокумента.ВажностьСообщения);*/
		}

		public object ПолучитьСотрудниковСКадровымиИсправлениями(/*ДокументыИсправление, ИмяДок*/)
		{
			/*ТекстЗапроса =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Док.Сотрудник
	|ИЗ
	|	Документ." + ИмяДок + ".РаботникиОрганизации КАК Док
	|ГДЕ
	|	Док.Ссылка В(&Исправления)
	|	И Док.Сторно";*/
			return null;
		}

		public void УстановитьКнопкиИсправленияКадровогоДокумента(/*ЭтотОбъект, ЭтаФорма, СтруктураМенюИсправление, ДокументИсправлен, ИсправленВесьДокумент, ДокументыИсправление, СотрудникиИсправление*/)
		{
			if(true/*СотрудникиИсправление = Неопределено*/)
			{
				//КнопкаИсправлениеВесьДокумент		= СтруктураМенюИсправление.ИсправлениеВесьДокумент;
				//КнопкаОтменаИсправление				= СтруктураМенюИсправление.ОтменаИсправление;
			}
			if(true/*ДокументИсправлен = Неопределено*/)
			{
				//ДокументИсправлен = ЗначениеЗаполнено(ДокументыИсправление);
			}
			if(true/*ИсправленВесьДокумент = Неопределено*/)
			{
				//ИсправленВесьДокумент = ДокументИсправлен;
				if(true/*ИсправленВесьДокумент*/)
				{
				}
			}
			//Кнопки = ЭтаФорма.ЭлементыФормы.ДополнительныеДействия.Кнопки;
			if(true/*СотрудникиИсправление = Неопределено*/)
			{
				if(true/*ДокументИсправлен*/)
				{
					if(true/*Кнопки.Найти("Исправить") <> Неопределено*/)
					{
						//Кнопки.Удалить(Кнопки.Исправить);
					}
					if(true/*Кнопки.Найти("ОтменитьИсправление") = Неопределено*/)
					{
						//НоваяКнопка = Кнопки.Добавить("Новая", ТипКнопкиКоманднойПанели.Действие, , КнопкаОтменаИсправление.Действие);
						//ЗаполнитьЗначенияСвойств(НоваяКнопка, КнопкаОтменаИсправление);
					}
				}
			}
		}
		// Управляет видимостью элементов формы, зависящих от наличия исправленного документа
		//

		public void ОбновитьДоступностьЭлементовФормыДляКадровыхИсправлений(/*ЭтотОбъект, ЭтаФорма, СтруктураМенюИсправление, ДокументыИсправление, СотрудникиИсправление*/)
		{
			//ЭтоИсправление		= ЗначениеЗаполнено(ЭтотОбъект.ИсправляемыйДокумент);
			//ДокументИсправлен	= ЗначениеЗаполнено(ДокументыИсправление);
			//ИсправленВесьДокумент = ДокументИсправлен;
			if(true/*СотрудникиИсправление <> Неопределено И ИсправленВесьДокумент*/)
			{
			}
			//ЭтаФорма.ТолькоПросмотр = ДокументИсправлен;
			//УстановитьДоступностьФормыДляРедактирования(ЭтотОбъект, ЭтаФорма);
			//ЭтаФорма.ЭлементыФормы.Организация.ТолькоПросмотр = ЭтаФорма.ТолькоПросмотр Или ЭтоИсправление;
			/*УстановитьКнопкиИсправленияКадровогоДокумента(
		ЭтотОбъект, ЭтаФорма, СтруктураМенюИсправление, ДокументИсправлен, ИсправленВесьДокумент, ДокументыИсправление, СотрудникиИсправление);*/
			//Элементы = ЭтаФорма.ЭлементыФормы;
			//Элементы.ПанельОткрытьИсправление.Свертка	= ?(ДокументИсправлен,РежимСверткиЭлементаУправления.Нет,РежимСверткиЭлементаУправления.Право);
			//Элементы.ПанельОткрытьИсходный.Свертка		= ?(ЭтоИсправление,РежимСверткиЭлементаУправления.Нет,РежимСверткиЭлементаУправления.Право);
			if(true/*СотрудникиИсправление <> Неопределено И Не ЭтаФорма.ТолькоПросмотр*/)
			{
				//МожноЗаполнять = Не ЭтоИсправление;
				//СоставМенюЗаполнить = Неопределено;
				if(true/*Элементы.ДействияФормы.Кнопки.Найти("ПодменюЗаполнить") <> Неопределено*/)
				{
					//СоставМенюЗаполнить = Элементы.ДействияФормы.Кнопки.ПодменюЗаполнить.Кнопки;
				}
				if(true/*Элементы.КоманднаяПанельРаботникиОрганизации.Кнопки.Найти("ПодменюЗаполнить") <> Неопределено*/)
				{
					//СоставМенюЗаполнить = Элементы.КоманднаяПанельРаботникиОрганизации.Кнопки.ПодменюЗаполнить.Кнопки;
				}
				if(true/*СоставМенюЗаполнить <> Неопределено*/)
				{
				}
			}
		}
		// ОбновитьДоступностьЭлементовФормы()

		public object ОбновитьТекущегоСотрудникаДляКадровыхИсправлений(/*ЭтаФорма, СотрудникиИсправление, ТекущийСотрудник*/)
		{
			//ТекущиеДанные	= ЭтаФорма.ЭлементыФормы.РаботникиОрганизации.ТекущиеДанные;
			if(true/*ТекущиеДанные <> Неопределено*/)
			{
				//НовыйСотрудник = ТекущиеДанные.Сотрудник;
			}
			//ФИО = "";
			/*// Установим имя и доступность кнопки ТекущийСотрудник механизма исправлений
*/
			if(true/*ЭтаФорма.ЭлементыФормы.ДополнительныеДействия.Кнопки.Найти("Исправить") <> Неопределено И ТекущийСотрудник <> НовыйСотрудник*/)
			{
				/*ФИО = ОбновитьКнопкуИсправленияРасчетовСотрудника(
			ТипЗнч(НовыйСотрудник),
			НовыйСотрудник,
			СотрудникиИсправление,
			ЭтаФорма.ЭлементыФормы.ДополнительныеДействия.Кнопки.Исправить.Кнопки.ТекущийСотрудник,
			"Строки текущего сотрудника",
			"Строки");*/
			}
			//ТекущийСотрудник = НовыйСотрудник;
			return null;
		}

		public void ИсправлениеКадровыхДокументовПередОткрытием(/*ЭтотОбъект, ЭтаФорма, ДокументыИсправление, СотрудникиИсправление*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
			}
			if(true/*Не ЭтотОбъект.ЭтоНовый()*/)
			{
				//ДокументыИсправление = ПроведениеРасчетов.ПолучитьДокументИсправление(ЭтотОбъект.Ссылка, "КритерийОтбора");
				//ОбновитьОписаниеСостоянияКадровогоДокумента(ЭтотОбъект, ЭтаФорма, ДокументыИсправление);
				if(true/*ЗначениеЗаполнено(ДокументыИсправление)*/)
				{
					//СотрудникиИсправление = ПолучитьСотрудниковСКадровымиИсправлениями(ДокументыИсправление, ЭтотОбъект.Метаданные().Имя);
				}
			}
		}

		public void ИсправлениеКадровыхДокументовПриОткрытии(/*ЭтотОбъект, ЭтаФорма, СтруктураМенюИсправление, ДокументыИсправление = Неопределено, СотрудникиИсправление = Неопределено*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
				//Элементы = ЭтаФорма.ЭлементыФормы;
				//Элементы.ПанельОткрытьИсправление.Свертка	= РежимСверткиЭлементаУправления.Право;
				//Элементы.ПанельОткрытьИсходный.Свертка		= РежимСверткиЭлементаУправления.Право;
				//Элементы.ДополнительныеДействия.Кнопки.Очистить();
			}
		}

		public void ИсправлениеКадровыхДокументовОбработкаОповещения(/*ИмяСобытия, Параметр, Источник, ЭтотОбъект, ЭтаФорма, СтруктураМенюИсправление, ДокументыИсправление = Неопределено, СотрудникиИсправление = Неопределено*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
			}
			if(true/*ИмяСобытия = "ОбновитьФорму" И Не ЭтотОбъект.ЭтоНовый()*/)
			{
				if(true/*ТипЗнч(Параметр) = Тип("Структура")*/)
				{
					//Команда = "";
					if(true/*Параметр.Свойство("Команда",Команда)*/)
					{
						/*// Источник прислал структуру параметров с командой
*/
						if(true/*Команда = "ДоступностьИсправленногоДокумента"*/)
						{
							if(true/*Параметр.Объект = ЭтотОбъект.Ссылка*/)
							{
								if(true/*СотрудникиИсправление = Неопределено И ДокументыИсправление = Неопределено*/)
								{
									//ДокументыИсправление = Источник;
								}
								//ОбновитьДоступностьЭлементовФормыДляКадровыхИсправлений(ЭтотОбъект, ЭтаФорма, СтруктураМенюИсправление, ДокументыИсправление, СотрудникиИсправление);
							}
						}
					}
				}
			}
		}

		public void ИсправлениеКадровыхДокументовОбработкаВыбора(/*ЗначениеВыбора, Источник, ЭтотОбъект, ЭтаФорма, СотрудникиИсправление, ТекущийСотрудник*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
			}
			if(true/*ТипЗнч(ЗначениеВыбора) = Тип("Структура")*/)
			{
				//Команда = "";
				if(true/*ЗначениеВыбора.Свойство("Команда",Команда) и Команда = "ЗаполнитьСписокРаботников"*/)
				{
					//ОбновитьТекущегоСотрудникаДляКадровыхИсправлений(ЭтаФорма, СотрудникиИсправление, ТекущийСотрудник);
				}
			}
		}

		public void ИсправлениеКадровыхДокументовПослеЗаписи(/*ЭтотОбъект*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
			}
			/*// оповестим исходный, исправляемый документ
*/
			if(true/*ЗначениеЗаполнено(ЭтотОбъект.ИсправляемыйДокумент)*/)
			{
				//Оповестить("ОбновитьФорму", Новый Структура("Команда, Объект","ДоступностьИсправленногоДокумента", ЭтотОбъект.ИсправляемыйДокумент), ЭтотОбъект.Ссылка);
			}
		}

		public void ИсправлениеКадровыхДокументовПриАктивизацииСтроки(/*Элемент, КоманднаяПанель, СотрудникиИсправление = Неопределено, ТекущийСотрудник = Неопределено*/)
		{
			//ДанныеСтроки = Элемент.ТекущиеДанные;
			/*МожноРедактироватьСтроку = (ДанныеСтроки = Неопределено Или Не ДанныеСтроки.Сторно)
		И (СотрудникиИсправление = Неопределено ИЛИ СотрудникиИсправление[ТекущийСотрудник] = Неопределено);*/
			//КоманднаяПанель.Кнопки.Скопировать.Доступность			= МожноРедактироватьСтроку;
			//Элемент.КонтекстноеМеню.Кнопки.Скопировать.Доступность	= МожноРедактироватьСтроку;
		}

		public void ИсправлениеКадровыхДокументовПриАктивизацииСтрокиОбработчикОжидания(/*ЭтаФорма, СотрудникиИсправление, ТекущийСотрудник*/)
		{
			if(true/*ЭтаФорма.ДанныеПрошлойВерсии*/)
			{
			}
			//ОбновитьТекущегоСотрудникаДляКадровыхИсправлений(ЭтаФорма, СотрудникиИсправление, ТекущийСотрудник);
		}

		public void ИсправлениеКадровыхДокументовПриПолученииДанных(/*ОформленияСтрок, СотрудникиИсправление = Неопределено*/)
		{
		}

		public void ИсправлениеКадровыхДокументовПриОкончанииРедактирования(/*ОтменаРедактирования, ЭтаФорма, СотрудникиИсправление, ТекущийСотрудник*/)
		{
			if(true/*ЭтаФорма.ДанныеПрошлойВерсии*/)
			{
			}
			if(true/*Не ОтменаРедактирования*/)
			{
				//ОбновитьТекущегоСотрудникаДляКадровыхИсправлений(ЭтаФорма, СотрудникиИсправление, ТекущийСотрудник);
			}
		}

		public void ВвестиКадровоеИсправлениеТекущегоСотрудника(/*ЭтотОбъект, ЭтаФорма, ТекущийСотрудник*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
			}
			if(true/*Не ЗначениеЗаполнено(ТекущийСотрудник)*/)
			{
				//РаботаСДиалогами.ВывестиПредупреждение("Не выбран сотрудник для исправления расчетов!");
			}
			//ВвестиДокументИсправление(ЭтотОбъект, ЭтаФорма, ТекущийСотрудник);
		}

		public void ВвестиКадровоеИсправлениеСпискаСотрудников(/*ЭтотОбъект, ЭтаФорма, СотрудникиИсправление*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
			}
			if(true/*Не ЭтотОбъект.Проведен*/)
			{
				//РаботаСДиалогами.ВывестиПредупреждение("Исправить можно только проведенный документ!");
			}
			//ТекстВопроса = "Для исправления необходимо записать документ. Продолжить?";
			if(true/*Не РаботаСДиалогами.ЗаписатьДокументПередВыполнениемДействия(ЭтотОбъект, ЭтаФорма, ТекстВопроса)*/)
			{
			}
			//МД = ЭтотОбъект.Метаданные();
			//СписокСотрудников = Новый СписокЗначений;
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Док.Сотрудник,
	|	Док.Сотрудник.Наименование КАК Наименование
	|ИЗ
	|	Документ." + МД.Имя + ".РаботникиОрганизации КАК Док
	|ГДЕ
	|	Док.Ссылка = &Ссылка
	|
	|УПОРЯДОЧИТЬ ПО
	|	Наименование";*/
			//Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Ссылка);
			//Выборка = Запрос.Выполнить().Выбрать();
			while(true/*Выборка.Следующий()*/)
			{
				if(true/*СотрудникиИсправление[Выборка.Сотрудник] = Неопределено*/)
				{
					//СписокСотрудников.Добавить(Выборка.Сотрудник,Выборка.Наименование);
				}
			}
			/*;
	
	Форма = ПолучитьОбщуюФорму("ФормаВыбораСотрудников", ЭтаФорма, ЭтотОбъект.Ссылка);*/
			//Форма.СписокСотрудников = СписокСотрудников;
			//Форма.Заголовок = "Сотрудники документа " + МД.Синоним + " №" + ЭтотОбъект.Номер + " от " + Формат(ЭтотОбъект.Дата,"ДФ=dd.MM.yyyy");
			//Форма.Открыть();
		}
		// Процедура отмены документов-исправлений
		//

		public void ОтменитьКадровоеИсправление(/*ЭтотОбъект, ЭтаФорма, СтруктураМенюИсправление, ДокументыИсправление, СотрудникиИсправление = Неопределено, ТекущийСотрудник = Неопределено*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
			}
			//ОтменитьИсправлениеДокумента(ЭтотОбъект.Ссылка, "ИсправляемыйДокумент");
			//ДокументыИсправление = ПроведениеРасчетов.ПолучитьДокументИсправление(ЭтотОбъект.Ссылка, "КритерийОтбора");
			if(true/*СотрудникиИсправление <> Неопределено*/)
			{
				//СотрудникиИсправление = ПолучитьСотрудниковСКадровымиИсправлениями(ДокументыИсправление, ЭтотОбъект.Метаданные().Имя);
			}
			//ОбновитьДоступностьЭлементовФормыДляКадровыхИсправлений(ЭтотОбъект, ЭтаФорма, СтруктураМенюИсправление, ДокументыИсправление, СотрудникиИсправление);
			if(true/*СотрудникиИсправление <> Неопределено*/)
			{
				/*ОбновитьКнопкуИсправленияРасчетовСотрудника(
			ТипЗнч(ТекущийСотрудник),
			ТекущийСотрудник,
			СотрудникиИсправление,
			ЭтаФорма.ЭлементыФормы.ДополнительныеДействия.Кнопки.Исправить.Кнопки.ТекущийСотрудник,
			"Строки текущего сотрудника",
			"Строки");*/
			}
			//ЭтаФорма.Обновить();
		}

		public void ОткрытьИсходныйДокумент(/*ЭтотОбъект, ЭтаФорма*/)
		{
			if(true/*ЭтотОбъект.ДанныеПрошлойВерсии*/)
			{
			}
			if(true/*ЗначениеЗаполнено(ЭтотОбъект.ИсправляемыйДокумент)*/)
			{
				//ЭтотОбъект.ИсправляемыйДокумент.ПолучитьФорму(, ЭтаФорма).Открыть();
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ ОБРАБОТКИ КОМАНД ГЛАВНОГО МЕНЮ И РАБОЧЕГО СТОЛА
		// Показывает веб-страницы в обработке Обозреватель
		//
		// Параметры
		//  АдресСтраницы  – Строка – адрес просматриваемой страницы
		//  ЗаголовокОкна  – Строка – заголовок окна обработки
		//  КлючУникальностиФормы - произвольный, ключ уникальности формы обработки Обозреватель
		//
		// Если передается пустая строка АдресСтраницы, то в обработке Обозреватель
		// просматривается веб-страница конфигурации
		//

		public void ПоказатьВебСтраницу(/*АдресСтраницы = "", ЗаголовокОкна = "", КлючУникальностиФормы = Неопределено*/)
		{
			//Форма = Обработки.Обозреватель.ПолучитьФорму("Форма",,КлючУникальностиФормы);
			if(true/*ЗначениеЗаполнено(ЗаголовокОкна)*/)
			{
				//Форма.Заголовок = ЗаголовокОкна;
			}
			//Форма.СтартоваяСтраница = АдресСтраницы;
			//Форма.Открыть();
		}
		// Функция открывает форму обработки ИндексацияИПерерасчетПособийНаДетей или возвращает ее

		public object ОткрытьПерерасчетПособийНаДетей(/*Режим = "Перерасчет", ОткрытьФорму = Истина*/)
		{
			if(true/*Режим = "Перерасчет"*/)
			{
				//ФормаОбработки = Обработки.ИндексацияИПерерасчетПособийНаДетейЗаСчетФСС.ПолучитьФорму(,,"Перерасчет");
			}
			if(true/*ОткрытьФорму*/)
			{
				//ФормаОбработки.Открыть();
			}
			return null;
		}

		public void ОткрытьПерерасчетПособийНаДетейИзИнтерфейса(/**/)
		{
			//ОткрытьПерерасчетПособийНаДетей("Перерасчет");
		}

		public void ОткрытьФормуМедицинскогоСтрахования(/**/)
		{
			if(true/*ПравоДоступа("Чтение", Метаданные.Справочники.МедицинскиеСтраховыеПолисы)*/)
			{
				//Форма = Справочники.СотрудникиОрганизаций.ПолучитьФормуСписка(,, "ФормаМедицинскогоСтрахования");
				//Форма.мРежимРаботыФормы = "ФормаМедицинскогоСтрахования";
				//Форма.Открыть();
			}
		}

		public void ОткрытьФормуОстатковОтпусков(/**/)
		{
			if(true/*ПравоДоступа("Чтение", Метаданные.Справочники.ОстаткиОтпусковОрганизаций)*/)
			{
				//Форма = Справочники.СотрудникиОрганизаций.ПолучитьФормуСписка(,, "ФормаОстатковОтпусков");
				//Форма.мРежимРаботыФормы = "ФормаОстатковОтпусков";
				//Форма.Открыть();
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// процедуры поддержки команд в журналах документов
		// Процедура дополняет переданный список значений видами документов, регистрируемых
		// в журнале и заполняет их представления
		//
		// Параметры:
		//	МетаданныеЖурнала - метаданные журнала
		//  СписокВидов - необязательный. Дополняемый список значений

		public void ДополнитьСписокВидовДокументов(/*МетаданныеЖурнала, СписокВидов*/)
		{
			if(true/*СписокВидов = НеОпределено*/)
			{
				//СписокВидов = Новый СписокЗначений;
			}
		}

		public void СоздатьПоВидуДокументаСтрокой(/*ВидДокумента, Организация = Неопределено, ЭлементСписок = Неопределено*/)
		{
			//МетаданныеДокумента = Метаданные.Документы[ВидДокумента];
			if(true/*Не ПравоДоступа("ИнтерактивноеДобавление", МетаданныеДокумента)*/)
			{
				//Предупреждение("Нарушение прав доступа!");
			}
			//ФормаНовогоДокумента = Документы[ВидДокумента].ПолучитьФормуНовогоДокумента(, ЭлементСписок);
			if(true/*Организация <> Неопределено И МетаданныеДокумента.Реквизиты.Найти("Организация") <> Неопределено*/)
			{
				if(true/*ТипЗнч(ФормаНовогоДокумента) = Тип("Форма")*/)
				{
					//ФормаНовогоДокумента.Организация = Организация;
				}
			}
			//ФормаНовогоДокумента.ЗакрыватьПриЗакрытииВладельца = Ложь;
			//ФормаНовогоДокумента.Открыть();
		}

		public void ОткрытьПоВидуДокумента(/*ВидДокумента*/)
		{
			if(true/*Не ПравоДоступа("Просмотр", Метаданные.Документы[ВидДокумента])*/)
			{
				//Предупреждение("Нарушение прав доступа!");
			}
			//ФормаСписка = Документы[ВидДокумента].ПолучитьФормуСписка();
			//ФормаСписка.Открыть();
		}

		public void ЖурналДокументовСписокПередНачаломДобавления(/*СписокВидовДокументов, Отказ, Копирование, Форма, Организация = Неопределено*/)
		{
			if(true/*Копирование*/)
			{
			}
			//Отказ = Истина;
			//СписокМеню = Новый СписокЗначений;
			//ВыбранныйЭлемент = Форма.ВыбратьИзМеню(СписокМеню);
			if(true/*ВыбранныйЭлемент <> НеОпределено*/)
			{
				//СоздатьПоВидуДокументаСтрокой(ВыбранныйЭлемент.Значение, Организация, Форма.ЭлементыФормы.ЖурналДокументовСписок);
			}
		}
		// Процедура вводит команды для создания документов и открытия форм
		// списков документов для журнала
		// Параметры:
		//	СписокВидовДокументов - список значений с видами документов строкой
		//	КнопкиДобавить - массив подменю, в которые необходимо добавить команды создания документов
		//	КнопкиОткрыть - массив подменю, в которые необходимо добавить команды открытия списков документов
		//  ДействиеСоздать - действие команды создания документов
		//  ДействиеОткрыть - действие команды открытия списков документов
		//

		public void ВвестиКомандыПоВидамДокументов(/*СписокВидовДокументов, КнопкиДобавить, КнопкиОткрыть, 
	ДействиеСоздать, ДействиеОткрыть*/)
		{
		}
		// возвращает истина если для документа определена печать по умолчанию иначе ложь
		//
		// Параметры
		//  ИмяДокумента					- строка, имя документа
		//  СоответствиеОписанияДокументов	- соответствие, содержит признак наличия у документа печатной формы
		//
		// Возвращаемое значение:
		//   булево
		//

		public object ДляДокументаОпределенаПечатьПоУмолчанию(/*ИмяДокумента, СоответствиеОписанияДокументов*/)
		{
			//ЗначениеИзСоответствия = СоответствиеОписанияДокументов[ИмяДокумента];
			if(true/*ЗначениеИзСоответствия = Неопределено*/)
			{
				//МенеджерДокумента = Документы[ИмяДокумента];
				//ДеревоМакетов = УниверсальныеМеханизмы.ПолучитьДеревоМакетовПечати(МенеджерДокумента.ПустаяСсылка(), СтруктураВнутреннихПечатныхФорм);
				//СтрокаПоУмолчанию = УниверсальныеМеханизмы.ПолучитьСтрокуДереваМакетовПоУмолчанию(ИмяДокумента, ДеревоМакетов);
				//ЗначениеИзСоответствия = СтрокаПоУмолчанию <> Неопределено;
				//СоответствиеОписанияДокументов.Вставить(ИмяДокумента, ЗначениеИзСоответствия);
			}
			return null;
		}
		// ДляДокументаОпределенаПечатьПоУмолчанию()
		// Функция определяет доступность организаций
		//
		// Параметры
		//  нет
		//
		// Возвращаемое значение:
		//	ДоступностьОрганизаций - 	структура, определяет доступность нескольких организаций,
		//  							нескольких головных организаций
		//

		public object ДоступностьОрганизаций(/**/)
		{
			//Запрос = Новый Запрос;
			/*Запрос.Текст = 
	"ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	|	Организации.Ссылка,
	|	Организации.ГоловнаяОрганизация
	|ПОМЕСТИТЬ РазрешенныеОрганизации
	|ИЗ
	|	Справочник.Организации КАК Организации
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ 
	|	КОЛИЧЕСТВО(РазрешенныеОрганизации.Ссылка) КАК КоличествоОрганизаций
	|ПОМЕСТИТЬ ДоступныеОрганизации
	|ИЗ
	|	РазрешенныеОрганизации КАК РазрешенныеОрганизации
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ 
	|	КОЛИЧЕСТВО(РазрешенныеОрганизации.Ссылка) КАК КоличествоГоловныхОрганизаций
	|ПОМЕСТИТЬ ДоступныеГоловныеОрганизации
	|ИЗ
	|	РазрешенныеОрганизации КАК РазрешенныеОрганизации
	|ГДЕ
	|	РазрешенныеОрганизации.ГоловнаяОрганизация = ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)
	|;
	|
	|////////////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВЫБОР
	|		КОГДА ДоступныеОрганизации.КоличествоОрганизаций > 1
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ДоступноНесколькоОрганизаций,
	|	ВЫБОР
	|		КОГДА ДоступныеГоловныеОрганизации.КоличествоГоловныхОрганизаций > 1
	|			ТОГДА ИСТИНА
	|		ИНАЧЕ ЛОЖЬ
	|	КОНЕЦ КАК ДоступноНесколькоГоловныхОрганизаций
	|ИЗ
	|	ДоступныеОрганизации КАК ДоступныеОрганизации,
	|	ДоступныеГоловныеОрганизации КАК ДоступныеГоловныеОрганизации";*/
			//Выборка = Запрос.Выполнить().Выбрать();
			//Выборка.Следующий();
			//ДоступностьОрганизаций = Новый Структура("ДоступноНесколькоОрганизаций,ДоступноНесколькоГоловныхОрганизаций");
			//ЗаполнитьЗначенияСвойств(ДоступностьОрганизаций, Выборка);
			return null;
		}
		// Процедура определяет необходимость быстрого отбора по организации,
		//  устанавливает его, если такая необходимость есть, или скрывает, если ее нет
		//
		// Параметры
		//  Форма 							- форма списка документов или журнала документов
		//  ИмяСпискаДокументов				- строка, имя реквизита содержащего список документов
		//

		public void НастроитьОтборПоОрганизации(/*Форма, ИмяСпискаДокументов, ОтборПоГоловнойОрганизации = Ложь*/)
		{
			//ДоступностьОрганизаций = ДоступностьОрганизаций();
			//ОтборДоступен = ?(ОтборПоГоловнойОрганизации, ДоступностьОрганизаций.ДоступноНесколькоГоловныхОрганизаций, ДоступностьОрганизаций.ДоступноНесколькоОрганизаций);
			//ЭлементыФормы = Форма.ЭлементыФормы;
			//ЭлементыФормы[ИмяСпискаДокументов].Колонки.Организация.Видимость = ОтборДоступен;
			/*// если элемент управления отбором размещен на панели - управляем сверткой
*/
			/*// если нет - видимостью
*/
			if(true/*ЭлементыФормы.Найти("ПанельОтборПоОрганизации") = Неопределено*/)
			{
				//ЭлементыФормы.ОрганизацияФлаг.Видимость = ОтборДоступен;
				//ЭлементыФормы.Организация.Видимость 	= ОтборДоступен;
			}
			if(true/*ОтборДоступен*/)
			{
				//УстановитьБыстрыйОтборПоОрганизации(Форма, ИмяСпискаДокументов, ОтборПоГоловнойОрганизации);
			}
		}
		// Процедура - общая часть обработок оповещения форм списков документов и журналов документов
		//
		// Параметры
		//  Форма 							- форма списка документов или журнала документов
		//  ИмяСпискаДокументов				- строка, имя реквизита содержащего список документов
		//

		public void ОбработкаОповещенияСпискаДокументов(/*ИмяСобытия, Параметр, Источник, Форма, ИмяСпискаДокументов, ОтборПоГоловнойОрганизации = Ложь*/)
		{
			if(true/*ИмяСобытия = "ЗаписьПользователя" И Параметр = глЗначениеПеременной("глТекущийПользователь")*/)
			{
				//УстановитьБыстрыйОтборПоОрганизации(Форма, ИмяСпискаДокументов, ОтборПоГоловнойОрганизации);
			}
		}

		public void ОбработкаИзмененияБыстрогоОтбораПоОрганизации(/*Форма, Элемент, ИмяСпискаДокументов*/)
		{
			if(true/*Элемент.Значение = Неопределено*/)
			{
				//Элемент.Значение = Справочники.Организации.ПустаяСсылка();
			}
			//Форма[ИмяСпискаДокументов].Отбор.Организация.Использование = ЗначениеЗаполнено(Элемент.Значение);
		}

		public void УстановитьБыстрыйОтборПоОрганизации(/*Форма, ИмяСпискаДокументов, ОтборПоГоловнойОрганизации*/)
		{
			//УстанавливатьОтбор = Истина;
			/*// проверим, не открывается ли список из документа
*/
			//ПараметрТекущаяСтрока = Форма.ПараметрТекущаяСтрока;
			if(true/*ЗначениеЗаполнено(ПараметрТекущаяСтрока)*/)
			{
				//ЗначениеОтбора = ОбщегоНазначения.ПолучитьЗначениеРеквизита(ПараметрТекущаяСтрока, "Организация");
			}
			//ГоловнаяОрганизация = ОбщегоНазначения.ПолучитьЗначениеРеквизита(ЗначениеОтбора, "ГоловнаяОрганизация");
			if(true/*ОтборПоГоловнойОрганизации 
		И ЗначениеЗаполнено(ЗначениеОтбора) 
		И ЗначениеЗаполнено(ГоловнаяОрганизация)*/)
			{
				//ЗначениеОтбора = ГоловнаяОрганизация;
			}
			if(true/*УстанавливатьОтбор*/)
			{
				//Форма[ИмяСпискаДокументов].Отбор.Организация.Установить(ЗначениеОтбора, ЗначениеЗаполнено(ЗначениеОтбора));
			}
		}

		public void СписокДокументовПередНачаломДобавления(/*Форма, Отказ, Копирование, Организация, ВидДокумента*/)
		{
			if(true/*Копирование*/)
			{
			}
			//Отказ = Истина;
			//СоздатьПоВидуДокументаСтрокой(ВидДокумента, Организация, Форма.ЭлементыФормы.ДокументСписок);
		}
		////////////////////////////////////////////////////////////////////////////////
		// ПРОЦЕДУРЫ И ФУНКЦИИ МЕХАНИЗМА КОММЕНТИРОВАНИЯ ДЕЙСТВИЙ

		public void ОткрытьГрафик(/*Параметры*/)
		{
			if(true/*Параметры.Количество() < 2*/)
			{
			}
		}
		////////////////////////////////////////////////////////////////////////////////
		// Формирует представление переданного вида дохода с "предметной" точки зрения
		//
		// Параметры
		//  , ВидДохода - СправочникСсылка.ДоходыПоСтраховымВзносам - описываемый вид дохода
		//
		// Возвращаемое значение:
		//   строка - сформированное представление
		//

		public object ПредставлениеВидаДоходаПоСтраховымВзносам(/*ВидДохода*/)
		{
			if(true/*ВидДохода = Справочники.ДоходыПоСтраховымВзносам.ДоговорыГПХ*/)
			{
				//РасшифровкаВидДохода = "Вознаграждения, выплачиваемые по договорам гражданско-правового характера. Облагаются страховыми взносами в ПФР и ФОМС целиком, не облагаются страховыми взносами в ФСС (пункт 2 части 3 статьи 9 Федерального закона от 24 июля 2009 года № 212-ФЗ)";
			}
			return null;
		}
		// ПолучитьПредставлениеКодаДоходаПоЕСН()
		// Формирует представление переданного вида дохода с "предметной" точки зрения
		//
		// Параметры
		//  , ВидНачисления - ПеречислениеСсылка.ВидыНачисленийОплатыТрудаПоСт255НК - описываемый вид дохода
		//
		// Возвращаемое значение:
		//   строка - сформированное представление
		//

		public object ПолучитьПредставлениеВидаДоходаПоНУ(/*ВидНачисления*/)
		{
			if(true/*ВидНачисления = Перечисления.ВидыНачисленийОплатыТрудаПоСт255НК.пп1ст255*/)
			{
				//РасшифровкаВидНачисления = "Суммы, начисленные по тарифным ставкам, должностным окладам, сдельным расценкам или в процентах от выручки в соответствии с принятыми формами и системами оплаты труда";
			}
			return null;
		}
		// ПолучитьПредставлениеВидаДоходаПоНУ()

		public void ПеренестиБлокКолонокЦеликом(/*КоллекцияКолонок, КолонкаЗаголовок, БлокКолонок*/)
		{
			//ВидимостьКолонок = КолонкаЗаголовок.Видимость;
			//ИндексЗаголовка = КоллекцияКолонок.Индекс(КолонкаЗаголовок);
			//Смещение = КоллекцияКолонок.Индекс(КолонкаЗаголовок) - КоллекцияКолонок.Индекс(БлокКолонок[0]) + 1;
			if(true/*Смещение <> 0*/)
			{
			}
		}
		////////////////////////////////////////////////////////////////////////////////

		public void ПрочитатьГодыРасчетаСреднего2011(/*ДокументОбъект, ФормаДокумента*/)
		{
			//ГодыРасчетаСреднего2011 = ДокументОбъект.ГодыРасчетаСреднего2011;
			//ВсегоСтрок = ГодыРасчетаСреднего2011.Количество();
			if(true/*ВсегоСтрок = 2*/)
			{
				//ФормаДокумента.ПервыйГодРасчета = ГодыРасчетаСреднего2011[0].Год;
				//ФормаДокумента.ВторойГодРасчета = ГодыРасчетаСреднего2011[1].Год;
			}
		}

		public void ЗаписатьГодыРасчетаСреднего2011(/*ДокументОбъект, ФормаДокумента*/)
		{
			//ДокументОбъект.ГодыРасчетаСреднего2011.Очистить();
			if(true/*ФормаДокумента.ПервыйГодРасчета <> 0*/)
			{
				//ДокументОбъект.ГодыРасчетаСреднего2011.Добавить().Год = ФормаДокумента.ПервыйГодРасчета;
			}
			if(true/*ФормаДокумента.ВторойГодРасчета <> 0*/)
			{
				//ДокументОбъект.ГодыРасчетаСреднего2011.Добавить().Год = ФормаДокумента.ВторойГодРасчета;
			}
			//ДокументОбъект.ГодыРасчетаСреднего2011.Сортировать("Год");
		}
		////////////////////////////////////////////////////////////////////////////////
		// Заполняет указанные подменю переданными командами, назначая всем один обработчик
		//
		// Параметры
		//  Кнопки - коллекция типа КнопкиКоманднойПанели
		//  Команды - список значений
		//	Обработчик - действие с обработчиком команд
		//
		// Возвращаемое значение:
		//   строка - сформированное представление
		//

		public void ЗаполнитьКнопкиКоманднойПанелиСпискомКоманд(/*Кнопки, СписокКоманд, Обработчик*/)
		{
			if(true/*СписокКоманд.Количество()*/)
			{
				//КомандыИзменились = Кнопки.Количество() <> СписокКоманд.Количество();
				if(true/*НЕ КомандыИзменились*/)
				{
				}
				if(true/*КомандыИзменились*/)
				{
					//Кнопки.Очистить();
				}
			}
		}
	}
}
